我没有获得[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 TestsCoding a Data-Driven Unit TestWalkthrough: Using a Configuration File to Define a Data Source

关于c# - 使用[ClassInitilize]属性优于静态构造方法的优点(或:TestContext wat ?!),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50810881/

10-09 12:38