假设我有一个接受用户名和密码的函数,然后它从数据库中检索记录并对该数据执行以下检查
如果这些条件中的任何一个为真,则抛出异常.
显然我想编写我的单元测试来测试他的逻辑,但是如果我做了异常将被抛出并且我的测试将失败,这是不正确的 - 是吗?
由于您没有说明您正在使用哪个测试框架,因此我无法详细说明,但框架将允许您将测试标记为期望异常.这将在抛出异常时停止测试失败,并允许您检查异常本身的类型和内容.
另一方面,如果你使用的框架不支持这个(虽然我认为没有),你可以在测试中手动添加try ... catch块,这样异常就不会传播out并导致测试失败.