Mat*_*Som 22 python unit-testing python-module python-unittest
所以我想做这个代码Kata练习.我想在单独的文件中用tdd实现kata:
算法:
# stringcalculator.py
def Add(string):
return 1
Run Code Online (Sandbox Code Playgroud)
和测试:
# stringcalculator.spec.py
from stringcalculator import Add
import unittest
class TestStringCalculator(unittest.TestCase):
def add_returns_zero_for_emptyString(self):
self.assertEqual(Add(' '), 0)
if __name__ == '__main__':
unittest.main()
Run Code Online (Sandbox Code Playgroud)
运行测试文件时,我得到:
Ran 0 tests in 0.000s
OK
Run Code Online (Sandbox Code Playgroud)
但它应该返回一个失败的测试.我在这里想念什么?
abc*_*ccd 30
正如python unittest doc中所述:
最简单的TestCase子类将简单地实现一个测试方法(即一个名称以test开头的方法)
因此,您需要将方法名称更改为以下内容:
def test_add_returns_zero_for_emptyString(self):
self.assertEqual(Add(' '), 0)
Run Code Online (Sandbox Code Playgroud)
Sha*_*ank 15
旁注:此外,所有测试所在的文件名称应以'test_'开头
小智 5
我有类似的问题。我的根本原因是我将 unittest.main 的执行块放置在 Test 类中。这使得 RAN 0 测试保持消息传递。将其移至课堂作业之外。
if __name__ == '__main__':
unittest.main()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12102 次 |
最近记录: |