作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 C# 4.0。我有一个单元测试,我需要在其中创建一个临时数据库。这是在类初始化期间完成的:
[ClassInitialize()]
public static void MyClassInitialize(TestContext testContext)
{
// Create database!
}
[ClassCleanup()]
public static void MyClassCleanup()
{
// Remove database IF CurrentTestOutcome == UnitTestOutcome.Passed
}
问:如何从我的 ClassCleanup
方法中读取 CurrentTestOutcome
值?
最佳答案
我建议您创建一个可以从 MyClassCleanup
访问的静态标志,并在遇到错误时在测试清理期间设置它。你类的类似以下内容:
[TestClass]
public class MyTests {
static bool _testFailed;
[ClassInitialize()]
public static void MyClassInitialize(TestContext testContext)
{
// Create database!
_testFailed = false;
}
[ClassCleanup()]
public static void MyClassCleanup()
{
if(_testFailed == false) {
// Remove database IF CurrentTestOutcome == UnitTestOutcome.Passed
}
}
[TestCleanup()]
public void MyTestCleanup() {
if (TestContext.CurrentTestOutcome != UnitTestOutcome.Passed) {
_testFailed = true;
}
}
public TestContext TestContext { get; set; }
}
我建议采用上述方法,因为我的理解是,在您的类清理中,引用 CurrentTestOutcome
从那以后不会真正有多大用处。它只包含要运行的最后一个测试的状态,而不是类中所有测试的组合结果。
关于c# - 在 ClassCleanup 中访问 CurrentTestOutcome?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15546440/
使用 C# 4.0。我有一个单元测试,我需要在其中创建一个临时数据库。这是在类初始化期间完成的: [ClassInitialize()] public static void MyClassIniti
我是一名优秀的程序员,十分优秀!