首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基本If语句单元测试

基本If语句单元测试
EN

Stack Overflow用户
提问于 2020-11-04 16:46:57
回答 1查看 30关注 0票数 0

背景:单元测试初学者在这里。尝试在编写代码时养成测试驱动开发的习惯。因此,我制作了一个简单的奇数或偶数计算器,并想测试这个简单程序的每个角度。

简单奇偶数检查器的码

代码语言:javascript
运行
复制
def get_odd_even(numb):
    if numb % 4 == 0:
        print("This number is a multiple of 4")
    elif numb % 2 == 0:
        print("This number is even")
    else:
        print("This number is odd")


if __name__ == "__main__":
    numb = int(input("Enter a number: "))
    get_odd_even(numb)

检查奇数条件的单位测试是工作的

代码语言:javascript
运行
复制
import unittest
from odd_even import get_odd_even


class MyTestCase(unittest.TestCase):
    def test_odd(self):
        self.assertEqual(get_odd_even(7), "This number is odd", "Should read this as an odd number")


if __name__ == '__main__':
    unittest.main()

溯源

代码语言:javascript
运行
复制
This number is odd
F
======================================================================
FAIL: test_odd (__main__.MyTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_odd_even.py", line 7, in test_odd
    self.assertEqual(get_odd_even(7),True, "Should read this as an odd number")
AssertionError: None != True : Should read this as an odd number

----------------------------------------------------------------------
Ran 1 test in 0.001s

FAILED (failures=1)

我也尝试过:

假设if语句正在寻找布尔响应,所以我断言我的参数7是== to True self.assertEqual(get_odd_even(7), True, "Should read this as an odd number")

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-04 16:54:00

assertEqual将检查其前两个参数是否相等。这意味着它正在测试get_odd_even的返回值是否与True相同。但是,get_odd_even函数不返回值。这就是你得到AssertionError: None != True的原因。您应该修改get_odd_even以返回字符串,而不是打印字符串,或者查看asserting output

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64684260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档