设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 文件
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

使用PyHamcrest执行健壮的单元测试(2)

发布时间:2019-01-30 21:18 所属栏目:21 来源:Moshe Zadka
导读:在编辑这篇文章时,我听到一个传言,取 Hamcrest 这个名字是因为它是 matches 字母组成的字谜。嗯 assert_that(matches, contains_inanyorder(*hamcrest) Traceback (most recent call last): File stdin, line 1,

在编辑这篇文章时,我听到一个传言,取 “Hamcrest” 这个名字是因为它是 “matches” 字母组成的字谜。嗯…

  1. >>> assert_that("matches", contains_inanyorder(*"hamcrest")
  2. Traceback (most recent call last):
  3.   File "<stdin>", line 1, in <module>
  4.   File "/home/moshez/src/devops-python/build/devops/lib/python3.6/site-packages/hamcrest/core/assert_that.py", line 43, in assert_that
  5.     _assert_match(actual=arg1, matcher=arg2, reason=arg3)
  6.   File "/home/moshez/src/devops-python/build/devops/lib/python3.6/site-packages/hamcrest/core/assert_that.py", line 57, in _assert_match
  7.     raise AssertionError(description)
  8. AssertionError:
  9. Expected: a sequence over ['h', 'a', 'm', 'c', 'r', 'e', 's', 't'] in any order
  10.       but: no item matches: 'r' in ['m', 'a', 't', 'c', 'h', 'e', 's']

经过进一步的研究,我找到了传言的来源:它是 “matchers” 字母组成的字谜。

  1. >>> assert_that("matchers", contains_inanyorder(*"hamcrest"))
  2. >>>

如果你还没有为你的 Python 代码编写单元测试,那么现在是开始的好时机。如果你正在为你的 Python 代码编写单元测试,那么使用 Hamcrest 将允许你使你的断言更加精确,既不会比你想要测试的多也不会少。这将在修改代码时减少误报,并减少修改工作代码的测试所花费的时间。

【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读