- Nose Testing - Tools
- Nose Testing - Framework
- UnitTest Framework - Py.test Module
- UnitTest Framework - Doctest API
- UnitTest Framework - Doctest
- UnitTest Framework - Signal Handling
- UnitTest Framework - Unittest2
- UnitTest Framework - Time Test
- UnitTest Framework - Exceptions Test
- UnitTest Framework - Skip Test
- UnitTest Framework - Test Discovery
- UnitTest Framework - Assertion
- UnitTest Framework - API
- UnitTest Framework - Framework
- UnitTest Framework - Overview
- UnitTest Framework - Home
UnitTest Framework Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
UnitTest Framework - Assertion
灰色检测框架使用沙丘的建筑功能,该功能测试了某种特定条件。 如果指称失败,将提出AsertionError。 然后,测试框架将确定试验为失败。 其他例外处理为“错误”。
以下三套主张功能在单元测试模块中界定:
Basic Boolean Asserts
Comparative Asserts
Asserts for Collections
基本主张职能评价一项行动的结果是真实的还是伪造的。 所有申辩方法都接受“msg的论点,即如果具体指明,则作为关于失败的错误信息。
Sr.No. | Method & Description |
---|---|
1 | assertEqual(arg1, arg2, msg = 无) 测试arg1和arg2。 如果价值观不相上下,试验就会失败。 |
2 | assert NotEqual (arg1, arg2, msg = 无> 测试arg1和arg2不相同。 如果这些价值观确实是平等的,那么测试就会失败。 |
3 | assertTrue (expr, msg = 无) 测试expr是真实的。 如果是假的,测试失败 |
4 | assertFalse (expr, msg = 无) 测试expr是假的。 如果属实,测试失败 |
5 | assertIs(arg1, arg2, msg = 无) arg1和arg2对同一物体进行评价。 |
6 | assertIss Not (arg1, arg2, msg = 无> 测试arg1和arg2 没有对同一目标进行评价。 |
7 | assertIsNone (expr, msg = 无>>> 测试expr 无。 如果没有,测试失败 |
8 | assertIs NotNone (expr, msg = 无) 测试expr不是。 如果无,测试失败 |
9 | assertIn(arg1, arg2, msg = 无) 测试arg1,arg2。 |
10 | assert NotIn(arg1, arg2, msg = 无> 测试arg1不在arg2。 |
11 | assertIsInstance(obj, cls, msg = 无) 测试obj a 见cls。 |
12 | assertNotIsInstance(obj, cls, msg = 无> 测试obj 页: 1 |
上述一些主张职能在以下法典中实施:
import unittest class SimpleTest(unittest.TestCase): def test1(self): self.assertEqual(4 + 5,9) def test2(self): self.assertNotEqual(5 * 2,10) def test3(self): self.assertTrue(4 + 5 == 9,"The result is False") def test4(self): self.assertTrue(4 + 5 == 10,"assertion fails") def test5(self): self.assertIn(3,[1,2,3]) def test6(self): self.assertNotIn(3, range(5)) if __name__ == __main__ : unittest.main()
当使用上述文字时,测试2、测试4和测试6将显示失败,而其他则成功。
FAIL: test2 (__main__.SimpleTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:Python27SimpleTest.py", pne 9, in test2 self.assertNotEqual(5*2,10) AssertionError: 10 == 10 FAIL: test4 (__main__.SimpleTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:Python27SimpleTest.py", pne 13, in test4 self.assertTrue(4+5==10,"assertion fails") AssertionError: assertion fails FAIL: test6 (__main__.SimpleTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:Python27SimpleTest.py", pne 17, in test6 self.assertNotIn(3, range(5)) AssertionError: 3 unexpectedly found in [0, 1, 2, 3, 4] ---------------------------------------------------------------------- Ran 6 tests in 0.001s FAILED (failures = 3)
第二套主张功能是comparative claim-。
assertA nearEqual (first, second, place = 7, msg = 无, delta = 无)
测试first >和second通过计算差额而大致(或大致)相同,四舍五入到特定数字。 (第7号)
测试表明,第一和第二点并不等于计算差额,四舍五入到特定数量(亏损7)和零。
在上述两项职能中,如果供应三角洲而不是提供场所,则第一和第二类之间的差别必须小于(或大于)三角洲。
供应三角洲和地点都会产生一种类型错误。
assertGreater(第一,第二,msg = 无)
测试first,视方法名称而定,大于second。 否则,测试将失败。
assertGreaterEqual(第一,第二,msg = 无)
测试first 大于或等于second,视方法名称而定。 如果没有,试验将失败
assertLess(第一,第二,msg = 无)
测试first 小于second,视方法名称而定。 如果没有,试验将失败
assertLessEqual(第一,第二,msg = 无)
测试first 小于或等于second,视方法名称而定。 否则,测试将失败。
assertRegexpMatches (text, regexp, msg = 无)
测试可与案文相匹配。 如果失败,错误信息将包含模式和案文。 登记册可以是常规表达物体,也可以是包含适合re.search()使用的定期表述。
assert NotRegexpMatches (text, regexp, msg = 无)
证明: text。 发出错误信息,包括对应的“text。
申述职能在以下例子中实施:
import unittest import math import re class SimpleTest(unittest.TestCase): def test1(self): self.assertAlmostEqual(22.0/7,3.14) def test2(self): self.assertNotAlmostEqual(10.0/3,3) def test3(self): self.assertGreater(math.pi,3) def test4(self): self.assertNotRegexpMatches("Tutorials Point (I) Private Limited","Point") if __name__ == __main__ : unittest.main()
上述文字报告测试1和测试4为失败。 在试验1中,22/7的分校不在3.14的7个小区之内。 同样,由于第二个论点与第一种论点的案文一致,测试4导致AsertionError。
=====================================================FAIL: test1 (__main__.SimpleTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "asserttest.py", pne 7, in test1 self.assertAlmostEqual(22.0/7,3.14) AssertionError: 3.142857142857143 != 3.14 within 7 places ================================================================ FAIL: test4 (__main__.SimpleTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "asserttest.py", pne 13, in test4 self.assertNotRegexpMatches("Tutorials Point (I) Private Limited","Point") AssertionError: Regexp matched: Point matches Point in Tutorials Point (I) Private Limited ---------------------------------------------------------------------- Ran 4 tests in 0.001s FAILED (failures = 2)
Assert for Collections
这套主张功能意在用于收集沙丘的数据类型,例如清单、图普、理论和数据集。
Sr.No. | Method & Description |
---|---|
1 | assertListEqual (pst1, pst2, msg = 无) 两个清单相同。 否则,就会产生错误信息,只显示两者之间的差别。 |
2 | assertTupleEqual (tuple1, tuple2, msg = 无) 两个标记是平等的。 否则,就会产生错误信息,只显示两者之间的差别。 |
3 | assertSetEqual (set1, set2, msg = 无) 两套试验是平等的。 否则,就形成了一个错误信息,列出各套之间的差别。 |
4 | 分辨率 两个字典相同。 如果不是的话,就会形成一个错误信息,显示字典上的差别。 |
下面的例子是采用上述方法:
import unittest class SimpleTest(unittest.TestCase): def test1(self): self.assertListEqual([2,3,4], [1,2,3,4,5]) def test2(self): self.assertTupleEqual((1*2,2*2,3*2), (2,4,6)) def test3(self): self.assertDictEqual({1:11,2:22},{3:33,2:22,1:11}) if __name__ == __main__ : unittest.main()
在上述例子中,测试1和测试3显示AsertionError。 傲慢的信息显示清单和密码物体的差异。
FAIL: test1 (__main__.SimpleTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "asserttest.py", pne 5, in test1 self.assertListEqual([2,3,4], [1,2,3,4,5]) AssertionError: Lists differ: [2, 3, 4] != [1, 2, 3, 4, 5] First differing element 0: 2 1 Second pst contains 2 additional elements. First extra element 3: 4 - [2, 3, 4] + [1, 2, 3, 4, 5] ? +++ +++ FAIL: test3 (__main__.SimpleTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "asserttest.py", pne 9, in test3 self.assertDictEqual({1:11,2:22},{3:33,2:22,1:11}) AssertionError: {1: 11, 2: 22} != {1: 11, 2: 22, 3: 33} - {1: 11, 2: 22} + {1: 11, 2: 22, 3: 33} ? +++++++ ---------------------------------------------------------------------- Ran 3 tests in 0.001s FAILED (failures = 2)Advertisements