我没有获得[ClassInitilize]
属性的好处。
[TestClass]
public class MyTestClass
{
static MyTestClass()
{
//startup logic
}
[ClassInitialize]
public static void Initilize(TestContext context)
{
//startup logic
}
}
在静态构造函数上使用[ClassInitilize]
是否有任何实际用法?
我的意思是,我在Initilize()
方法中得到了TestContext
这个对象,但我真的没有看到任何用途。
简而言之:
需要TestContext
为什么。
答案 0 :(得分:2)
来自MSDN: Using the TestContext
Class:
您可以在单元测试中使用TestContext类来实现多种目的。这是最常见的用途:
在任何单元测试中,因为TestContext类存储提供给单元测试的信息,例如部署目录的路径。有关详细信息,请参阅Structure of Unit Tests。
在单元测试中测试在ASP.NET Development Server上运行的Web服务。在这种情况下,TestContext存储Web服务的URL。有关详细信息,请参阅Testing Web Services。
在ASP.NET单元测试中,获取对Page对象的访问权限。有关详细信息,请参阅Working with ASP.NET Unit Tests。
在数据驱动的单元测试中,TestContext类是必需的,因为它提供对数据行的访问。有关详情,请参阅Working with Data-Driven Unit Tests,Coding a Data-Driven Unit Test和Walkthrough: Using a Configuration File to Define a Data Source。