Kal*_*son 10 .net execution isolation vstest vstest.console.exe
我正在尝试确定在编写将要运行的测试时应该考虑的因素vstest.console.exe.
示例1:假设我有两个测试,它们都依赖于MyClass.Singleton.Counter零值.现在让我们说我们雇用一个新的实习生,在他写的测试中无意中增加了这个值.如果这个新测试在旧的两个单元测试之前运行.如果测试在同一个过程中运行(并且没有重置计数器值),那么这两个单元测试将失败.
示例2:假设我有两个集成测试,它们使用同一个DB.这两个测试都记录了DB中存在的计数器的值,递增计数器,然后从DB读取计数器,断言它的值比最初读取的值高1.如果这两个测试并行运行,我们就会遇到竞争条件.
最终目标是尝试理解开发人员在编写将在vstest.console.exe特定情况下运行的测试时应该记住的注意事项,它的执行模型是什么?
注意:我对最佳实践不感兴趣,只是了解vstest.console.exe影响测试结果的方式的执行模型.
project1.dll并且project2.dll传递给控制台,并且每个都依赖于依赖程序集的冲突版本,那么项目测试文件将如何成功执行?.runsettings指定文件或测试适配器时的默认行为是什么?(1)vstest.console.exe文档,/InIsolation指出它"在一个独立的进程中运行测试".
我将从上面推断出创建一个进程,其中传递给测试运行器的所有测试文件都将执行,但这可能不准确.
(2)vstest.console.exe可以在命令行上使用多个测试"文件",这些DLL可以引用不同目录中的不同项目.
(3)通过提供*.runsettings文件,可以使用测试适配器来执行测试.
| 归档时间: |
|
| 查看次数: |
927 次 |
| 最近记录: |