Feb 13, 2012

Unit Test với Visual Studio 2008

Các bước tạo 1 test project trong Visual Studio Team System 2008.

Trong version này đã có tích hợp test case project nên việc tạo test project rất dễ dàng. Để dễ dàng thực hiện, tôi sẽ viết 1 chương trình đơn giản cộng 2 số sau đó tạo 1 test project cùng các testcase cho chương trình này.

Bước 1: Trong Visual Studio bạn tạo 1 project mới có kiểu là Class Library(các kiểu project khác đều được nhưng ở đây việc tạo 1 class library sẽ cho bạn hình dung rằng bạn không thể thực thi module này 1 cách độc lập để thử)
This image has been resized. Click this bar to view the full image. The original image is sized 634x441.

Bước 2: Thêm 1 Class mới bằng cách nhấn phải chuột lên Project trong Project Explorer, chọn Add-> Class, đặt tên cho lớp đó là MyCalculator.

Bước 3: Coding các phương thức của bạn. ở đây giả sử tôi có các phương thức như sau:
PHP Code:
using System;
 
namespace VoVanHai_UnitTesting
{

public class 
MyCalculator
{

public 
double Cong(int aint b)

{

return 
b;

}

public 
double Tru(int aint b)

{

return 
a – b;

}

public 
double Nhan(int aint b)

{

return 
b;

}

public 
double Chia(int aint b)

{

if (
== 0)

throw new 
Exception(“Lỗi chia cho zero”);

return 
b;

}

}

Build project, bạn được 1 file VoVanHai_UnitTesting.dll.

OK, bây giờ bạn tạo 1 test project được rồi đấy!

Bước 4: Nhấn phải chuột lên Solution của bạn trong cửa sổ Solution Explorer, chọn Add-> New Project như hình.
Chọn Test Project như hình rồi nhấn OK
This image has been resized. Click this bar to view the full image. The original image is sized 662x479.
Bạn có 1Test Project như hình
Bạn có thể xỏa bỏ UnitTest1 nếu bạn muốn. Bây giờ ta có thể thêm vào 1 unit test mới bằng cách nhấn phải chuột lên test project của chúng ta rồi chọn Add->Unit Test như hình:
Một của sổ hiện ra:
Nhấn OK, bạn sẽ có 1 lớp có tên MyCalculatorTest.cs với các phương thức test của bạn với các giá trị mặc định (0). Ví dụ 1 phương thức:
PHP Code:
[TestMethod()]
 

public 
void NhanTest()

{
MyCalculator target = new MyCalculator(); // TODO: Initialize to an appropriate value
int a 0// TODO: Initialize to an appropriate value
int b 0// TODO: Initialize to an appropriate value
double expected 0F// TODO: Initialize to an appropriate value
double actual;
actual target.Nhan(ab);
Assert.AreEqual(expectedactual);
Assert.Inconclusive(“Verify the correctness of this test method.);

Bạn phải chọn các testcase nào đó theo 1 phương pháp bạn đang tuân thủ(chẳng hạn path testing chẳng hạn). Bạn cần sửa lại đoạn code này theo 1 test case gồm có tham số đầu vào và kết quả mong đợi. Ví dụ với phương thức trên bạn nhập tham số a=10, tham số b=10 thì bạn mong ước nhận được kết quả 100. Code đã sửa như sau:
PHP Code:
[TestMethod()]
 

public 
void NhanTest()

{
MyCalculator target = new MyCalculator();
int a 10;//tham số a của hàm
int b 10;//tham số b của hàm
double expected 100d;//kết quả mong muốn
double actual;
actual target.Nhan(ab);
Assert.AreEqual(expectedactual);

Nhấn chuột phải lên vị trí tại Testcase mà ta cần chạy thử, chọn Run Test.
Kết quả được cho như sau:
Trong trường hợp bây giờ bạn cho a=10, b=5, kết quả mong đợi 100 thì bạn sẽ có mết quả:
Double click vào test result ta có cửa sổ sau chỉ ra chi tiết của lỗi sai:
Để thực thi tất cả các testcase, bạn chạy project (nhấn F5). Ví dụ :
Good. Bây giờ bạn có thể tiếp tục tạo các Test case theo mong muốn của bạn. Chúc thành công!

(Sưu tầm)
http://forums.testervn.com/index.php

0 comments:

Post a Comment

Nam Le © 2014 - Designed by Templateism.com, Distributed By Templatelib