我正在学习一些关于单元测试的教程。问题是旧版本的 xUnit.net 提供了一个“Assert.DoesNotThrow”,现在已被删除。我应该用什么代替?(在下面的教程中使用了这个旧的断言) [Fact] public void returns_json_response() { string results = execute("Batman"); Assert.Throws.Nothing((new JavaScriptSerializer().Deserialize<dynamic>(results))); }
2 回答
慕斯王
TA贡献1864条经验 获得超2个赞
Record.Exception
您可以使用如下所示的方法检查异常。
var exception = Record.Exception(() => new JavaScriptSerializer().Deserialize<dynamic>(results)); Assert.Null(exception);
撒科打诨
TA贡献1934条经验 获得超2个赞
您应该测试“result”的值,否则您测试的只是针对 JavascriptDeserializer。
如果你想在动态中包含序列化,那很好,但你应该这样做,例如;
var dynamicFoo = new JavaScriptSerializer( //etc
Assert.Equal("bar", dynamicFoo.Bar);
注意这不是测试序列化,而是测试字符串results。您还可以测试实际的字符串值。
- 2 回答
- 0 关注
- 148 浏览
添加回答
举报
0/150
提交
取消