当前位置:  开发笔记 > 编程语言 > 正文

如何通过WebTest失败?

如何解决《如何通过WebTest失败?》经验,为你挑选了0个好方法。

我正在使用Microsoft WebTest,并希望能够执行类似于NUnit的操作Assert.Fail().我提出的最好的是,throw new webTestException()但这在测试结果中显示为一个Error而不是一个Failure.

除了反映WebTest设置私有成员变量以指示失败之外,还有一些我错过的东西吗?

编辑:我也使用了该Assert.Fail()方法,但是当从WebTest中使用时,这仍然显示为错误而不是失败,并且该Outcome属性是只读的(没有公共设置器).

编辑:好吧,现在我真的很难过.我使用反射将Outcome属性设置为Failed,但测试仍然通过!

这是将Oucome设置为失败的代码:

public static class WebTestExtensions
{
    public static void Fail(this WebTest test)
    {
        var method = test.GetType().GetMethod("set_Outcome", BindingFlags.NonPublic | BindingFlags.Instance);
        method.Invoke(test, new object[] {Outcome.Fail});
    }
}

这是我试图失败的代码:

    public override IEnumerator GetRequestEnumerator()
    {
        this.Fail();
        yield return new WebTestRequest("http://google.com");
    }

Outcome正在设置,Oucome.Fail但显然WebTest框架并没有真正使用它来确定测试通过/失败结果.

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有