NUnit TestContext.CurrentContext null引用异常

时间:2011-03-19 17:32:07

标签: c# nunit watin

我今天早上一直在和watiN / Nunit一起玩,以捕捉失败的UI测试的截图。但是,在访问Nunits TestContext.CurrentContext ...

时,我遇到了NRE

关于我做错了什么的想法?

[TestFixture]
class SomePageTest
{
    [Test]
    [STAThread]
    public void Page_IsAvailable()
    {
        var browser = new SomePage();

        Assert.IsTrue(browser.ContainsText("Something"));            

        if (TestContext.CurrentContext.Result.Status == TestStatus.Failed)
        {
            browser.CaptureWebPageToFile(@"X:\location\" + TestContext.CurrentContext.Test.FullName);
        }
    }
}

public class SomePage: IE
{
    public static string SomePageUrl = "http://somepage.com/someurl";
    public SomePage() : base(SomePageUrl)
    {
    }
}

2 个答案:

答案 0 :(得分:5)

嗯......在没有成功进入这个例外后,我发现了这篇文章:http://www.barebonescoder.com/2010/10/nunit-and-the-new-testcontext-class/

从nunit的测试运行器运行我的测试是成功的......现在要弄清楚如何使用resharpers测试运行器来完成这项工作?

答案 1 :(得分:1)

是CurrentContext属性还是Result属性为NULL?可能是因为测试尚未完成而未设置结果。我正在使用WatiN / NUnit开展工作项目,并且我已经能够毫无问题地使用TestContext类,但我不得不说我没有注意到Result属性的状态。

如果Result属性为NULL,则可能尝试将浏览器的初始化移动到TestSetUp方法,并在处理浏览器实例之前将屏幕捕获执行到TestTearDown。