1
93
如果您希望Thing(name='1234')引发异常,有两种方法可以处理此问题。 一种是使用Django的assertRaises(实际上来自unittest/unittest2):
除非Thing(name='1234')引发FooException错误,否则此操作将失败。另一种方法是捕获预期的异常,如果不发生,则引发异常,如下所示:
显然,将FooException替换为您希望从创建具有太长字符串的对象中获得的FooException。验证错误? 第三个选项(从Python 2.7开始)是使用assertRaises作为上下文管理器,这使得代码更清晰、可读性更强:
遗憾的是,这不允许自定义测试失败消息,所以请将测试记录好。见 https://hg.python.org/cpython/file/2.7/Lib/unittest/case.py#l97 更多细节。 |
2
4
我正在使用
我用
但在测试过程中会打印一条警告信息。我把它和姜戈和鼻子一起用。哪个 others 也看到了。
我来这里是想找到更好的解决办法,但没有找到。所以我至少想告诉别人我一直在做的事情。 |
3
-3
这样的做法应该管用:
--但这样的测试看起来很奇怪:-)
另外,请注意MySQLdb backend将引发警告异常,以通知您截断字符串,因此您可能希望使用
|
mg610 · 如何开始C++单元测试 2 年前 |
vidhu · 无URL的自动化测试 2 年前 |
Aessandro · js开关站单元测试[关闭] 6 年前 |
AntoineLB · 断言后期工作Django 6 年前 |
ravikant · Selenium脚本不工作异常 6 年前 |