【发布时间】:2019-08-29 19:28:46
【问题描述】:
我在 Visual Studio 2019 中使用 C# XUnit,并且我有一个包含各种测试、使用数据库和 Web 应用程序的测试类。我想运行一些代码,在运行测试之前设置特定的数据库表,然后再进行清理。问题是我需要这段代码只在一些特定测试之前和之后运行。
- 无法使用 InLine 参数,因为这些测试不适用于相同的内容。
- 夹具无法使用,因为它们适用于所有测试。
- 编辑:测试不能有单独的类
理想的情况是:
[For tests with trait XZ]
TestInit(){RUN CODE}
[For tests with trait XZ]
TestCleanup(){RUN CODE]
这在 XUnit 中是可能的,还是使用带有扩展方法的类是最好的可能性?
【问题讨论】:
-
将这些特定的测试移动到一个单独的测试类中,并有自己的设置和拆卸。
-
想到了,但不是我想要的解决方案,所有这些测试都属于一起,因为它们都测试网络应用程序中的控件
-
这些测试需要如此明显独立的设置这一事实表明它们与其他测试相比具有不同的关注点。
-
它正在更改默认帐户语言,然后将小时格式更改为 12Hr+AM/PM。其他测试不需要该设置,应该使用默认语言设置