cra*_*igb 10 c# unit-testing mstest webtest
我正在使用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});
}
}
Run Code Online (Sandbox Code Playgroud)
这是我试图失败的代码:
public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
this.Fail();
yield return new WebTestRequest("http://google.com");
}
Run Code Online (Sandbox Code Playgroud)
Outcome正在设置,Oucome.Fail但显然WebTest框架并没有真正使用它来确定测试通过/失败结果.
将Outcome 属性设置为Fail:
Outcome = Outcome.Fail;
Run Code Online (Sandbox Code Playgroud)
Microsoft.VisualStudio.QualityTools.UnitTestFrameworkAssert.Fail()程序集中还有一个。
| 归档时间: |
|
| 查看次数: |
3267 次 |
| 最近记录: |