11
Có tương đương không tĩnh với [ClassCleanup] của MSTest & [ClassInitialize] không?Có tương đương không tĩnh với [ClassCleanup] và [ClassInitialize] của MSTest không?
Tôi đang sử dụng MSTest cho một số kiểm tra mức hệ thống/tích hợp và tôi không muốn phải lo lắng về việc làm sạch & khởi tạo kết nối trong các thử nghiệm.
Ví dụ Code:
[TestClass]
public class DefectCreatorTest
{
private long _cookie;
private soapcgi _soap;
[ClassInitialize]
public void Initialize()
{
_soap = new soapcgi {Url = "http://localhost:80/scripts/soapcgi.exe"};
_cookie = Transaction.Login(_soap);
}
[ClassCleanup]
public void TearDown()
{
Transaction.Logout(_cookie, _soap);
}
[TestMethod]
public void CreateDefectTest()
{
var result = _soap.Foo();
Assert.AreEqual("bar", result);
}
}
Bạn có ý nghĩa gì khi không tĩnh? có gì sai với mã ví dụ của bạn? – seldary
Mã ví dụ biên dịch, nhưng sẽ không chạy. Phương pháp được trang trí với ClassInitialize cần phải là một phương pháp tĩnh. –
Bài kiểm tra sẽ không chạy vì phương thức Initialize cần để có TestContext được chuyển vào phương thức thiết lập, ngay cả khi nó không được sử dụng. –