Ray*_*Ray 22 unit-testing visual-studio
快问,我正在使用Visual Studio的测试框架进行单元测试.只是想知道使用构造函数进行初始化工作与使用[TestInitialize()]属性的方法有什么区别?
maf*_*afu 10
这篇文章概述了不同的方法.正如你所看到的那样,ctor在紧接着之前被调用ClassInitialize(当然只有一次)和TestInitialize.
因此,ClassInitialize在您的TestInitialize方法中放入需要代码的东西.之前应该设置的所有东西ClassInitialize都在ctor中.
显然,TestInitialize内容将在每次测试之前执行一次.每次测试后关闭的相应方法是TestCleanup.对于课程,请使用ClassCleanup.对于程序集也存在同样的事情(AssemblyInitialize/Cleanup).
从概念上讲,它们是相同的,因为 MSTest 在每次测试执行之前都会创建一个测试类的新实例。但是,从技术上讲,存在一些差异:
TestInitialize(毫不奇怪,因为后者是一个实例方法)。TestContextin TestInitialize。TestInitialize:https : //stackoverflow.com/a/8689398/67824启用。readonly在 ctor 中分配字段。我认为这很重要:https : //stackoverflow.com/a/45270180/67824。| 归档时间: |
|
| 查看次数: |
8107 次 |
| 最近记录: |