我有一些代码,我正在编写单元测试。所以我需要检查,是否serviceResult.Result.LOCATION_COUNT存在以及其余 3 个字段。我需要确保它们都不存在。ServiceResult.Result是动态类型。如果其中一些存在,那么我需要使测试失败。try { Assert.IsNull(serviceResult.Result.LOCATION_AMOUNT); } catch { try { Assert.IsNull(serviceResult.Result.OGM_AMOUNT); } catch { try { Assert.IsNull(serviceResult.Result.VAT_AMOUNT); } catch { try { Assert.IsNull(serviceResult.Result.TOTAL_AMOUNT); } catch { Assert.AreEqual(0, 0); } } } } Assert.Fail();这段代码是不是看起来很尴尬?也许我可以做得更好?
1 回答
BIG阳
TA贡献1859条经验 获得超6个赞
使用Assert.Throws,断言特定表达式抛出异常,如下所示:
// NUnit
Assert.Throws<RuntimeBinderException>(() => serviceResult.Result.LOCATION_AMOUNT);
Assert.Throws<RuntimeBinderException>(() => serviceResult.Result.VAT_AMOUNT);
Assert.Throws<RuntimeBinderException>(() => serviceResult.Result.LOCATION_AMOUNT);
// MSTest
ExceptionAssert.Throws(() => serviceResult.Result.LOCATION_AMOUNT);
ExceptionAssert.Throws(() => serviceResult.Result.VAT_AMOUNT);
ExceptionAssert.Throws(() => serviceResult.Result.LOCATION_AMOUNT);
- 1 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消