我试图在一个条件引发自定义异常消息的函数内断言异常.

功能:

if not Cart.objects.filter(member=member).count():

raise CartDoesNotExist("Cart Does Not Exist for Member: %s ( %id )." % (member.email,member.id))

现在,我能够成功地产生获得加注声明所需的条件.

所以,我的测试用例看起来像这样:

def Order_CartDoesNotExist(self):

self.assertRaises(CartDoesNotExist,Order.objects.create_order(member=self.member2,member_slot=self.memslot,order_type="Normal"))

当我运行测试时,输出是一个错误.它给出了相同的错误CartDoesNotExist …..

所以我的问题是,如何提出这类例外?如何在我们的单元测试中涵盖这些情况?我不想逃避这些条件因为它们很重要并且增加了代码覆盖率?

谢谢你们.

解决方法:

您的代码直接调用create_order,这会引发异常.你需要改变它的调用方式.在Python 2.7中,您可以使用:

with self.assertRaises(CartDoesNotExist):

Order.objects.create_order(member=self.member2, member_slot=self.memslot, order_type="Normal"))

在这里,上下文管理器允许您直接调用代码,上下文管理器将为您处理异常.

如果您使用2.6或更低版本运行:

self.assertRaises(CartDoesNotExist, Order.objects.create_order, member=self.member2, member_slot=self.memslot, order_type="Normal")

这里你没有调用你的函数,你将它传递给assertRaises,以及它需要的参数,assertRaises将调用代码并正确处理异常.

标签:python,unit-testing

来源: https://codeday.me/bug/20190626/1289633.html

assertpythonraise_使用assertRaise测试异常消息相关推荐

  1. junit 测试 异常_使用JUnit规则测试预期的异常

    junit 测试 异常 这篇文章展示了如何使用JUnit测试预期的异常. 让我们从我们要测试的以下类开始: public class Person {private final String name ...

  2. kotlin中的异常处理_如何使用assertFailsWith在Kotlin中测试异常

    kotlin中的异常处理 by Daniel Newton 丹尼尔·牛顿 如何使用assertFailsWith在Kotlin中测试异常 (How to test exceptions in Kotl ...

  3. linux中send函数MSG_NOSIGNAL异常消息

    最近2周在做 ineedle 的国舜项目扩展,需要使用 socket 的 tcp 连接向对方发送消息,当然需求很简单,只是按照对方要求发送指定格式的消息,程序结构也非常的简单,一对多的 client/ ...

  4. java junit 异常_JUnit:使用Java 8和Lambda表达式测试异常

    java junit 异常 在JUnit中,有许多方法可以在测试代码中测试异常,包括try-catch idiom JUnit @Rule和catch-exception库. 从Java 8开始,我们 ...

  5. JUnit:使用Java 8和AssertJ 3.0.0测试异常

    Java 8的AssertJ 3.0.0发行版比以前更容易测试异常. 在我以前的一篇博客文章中,我描述了如何利用纯 Java 8实现此目的,但是使用AssertJ 3.0.0可能会删除我创建的许多代码 ...

  6. JUnit:使用Java 8和Lambda表达式测试异常

    在JUnit中,有许多方法可以在测试代码中测试异常,包括try-catch idiom JUnit @Rule和catch-exception库. 从Java 8开始,我们还有另一种处理异常的方法:使 ...

  7. WCFAppFabric :异常消息: 内存入口检查失败

    WCF&AppFabric :异常消息: 内存入口检查失败 参考文章: (1)WCF&AppFabric :异常消息: 内存入口检查失败 (2)https://www.cnblogs. ...

  8. JUnit中测试异常抛出的方法

    最近在做TWU关于TDD的作业,对JUnit中测试异常抛出的方法进行了一些学习和思考. 在进行单元测试的时候有的时候需要测试某一方法是否抛出了正确的异常.例如,我有一个方法,里面对一个List进行读取 ...

  9. junit 5测试异常处理_使用JUnit 5测试异常

    junit 5测试异常处理 JUnit 5带来了令人敬畏的改进,并且与以前的版本有很大不同. JUnit 5在运行时需要Java 8,因此Lambda表达式可以在测试中使用,尤其是在断言中. 这些断言 ...

最新文章

  1. HarmonyOS 点击事件的实现
  2. Android Sensor——传感器
  3. Python3 动态导入模块的两种方式
  4. 安卓学习之--如何关闭所有的activity
  5. python制作计算机程序_用 Python 开发实用程序 – 计算器
  6. OpenHub框架进行的异步通信
  7. mysql 关联查询慢_mysql慢查询语句分析总结
  8. jQuery 设置表格隔行变色、隔列变色
  9. CentOS6.X内核升级
  10. bzoj 1014: [JSOI2008]火星人prefix(splay维护区间+Hash+二分)
  11. Linux mkdir 与 mkdir -p 的区别
  12. 【Linux】快速入门gdb调试工具
  13. 网易视频云直播常见问题解析
  14. Java语言实现自动关机程序
  15. MATLAB批量读取文件夹名,文件名,文件数据
  16. [渝粤教育] 无锡商业职业技术学院 团队管理 参考 资料
  17. gpio上拉失效问题
  18. html标签之视频各种标签
  19. VS2015+WDK10在不同环境下的驱动配置
  20. 网络安全应急响应事件场景二

热门文章

  1. Spring4.x整合Axis1.4发布WebService服务
  2. html5录音怎么保存到本地,详解HTML5 录音遇到的坑
  3. 拙见之drawPath()与fillPath
  4. linux的trace文件路径,linux系统分析工具之Blktrace(十)
  5. 获得分辨率_变分辨率宽幅面光固化3D打印,
  6. Java 捕获 mybatis异常_3 springboot集成mybatis和全局异常捕获
  7. python环绕文字_如何用css实现文字三面环绕图片?
  8. twisted mysql_在Twisted下用MySQLadbapi获取自增id
  9. python 套接字 struck_Python socket粘包问题(最终解决办法)
  10. 小学计算机课评课用语,信息技术评课心得