【发布时间】:2015-01-05 13:26:26
【问题描述】:
我正在尝试升级到 xUnit 2 测试版(主要是因为更好的测试发现)但偶然发现了 IUseFixture<>:
public abstract class TestCaseBase : IUseFixture<SelfHostFixture>
{ /*common stuff here*/ }
public class Controller1Test : TestCaseBase {}
public class Controller2Test : TestCaseBase {}
我发现新的IClassFixture<> 几乎是我所需要的,除了为每个后代类(Controller1Test、Controller2Test)创建/处置该固定装置而不是仅一次。好吧,我可以将IClassFixture<SelfHostFixture> 声明从基础移动到每个测试类,但为什么我要多次设置/处置我的服务器? ICollectionFixture<> 对我不起作用(灯具的 ctor 从未被解雇)。
基本上,我想要的是:
- “每次运行”夹具(每次测试运行必须仅实例化一次)
- 启用并行运行,因为我的测试只是无状态 HTTP 调用(我认为
ICollectionFixture<>根本不起作用,因为同一集合中的测试不能并行运行,对吧?)
我错过了什么?
【问题讨论】:
-
以防万一您还没有查看,我会查看 github 问题中的类似问题和/或各种 IXXXFixture 和 ctor arg 机制的文档,看看您是否能找到正确的方法管理它
-
这是我使用的 beta 版本的问题。在 2.0 版本中已修复。
标签: c# .net testing xunit xunit.net