我没有获得[ClassInitilize]
属性的好处。
范例程式码
[TestClass]
public class MyTestClass
{
static MyTestClass()
{
//startup logic
}
[ClassInitialize]
public static void Initilize(TestContext context)
{
//startup logic
}
}
题
在静态构造函数上使用
[ClassInitilize]
有实际用法吗?我的意思是,我在
Initilize()
方法中得到了一个TestContext
对象,但是我没有看到任何用处。简而言之:
TestContext
需要做什么。 最佳答案
从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。
关于c# - 使用[ClassInitilize]属性优于静态构造方法的优点(或:TestContext wat ?!),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50810881/