i = input("请输入你要执行的用例:") if i == 1: Start.start_total() elif i == 2: Start.repeat_management_test01() else: Start.repeat_management_test05() 为什么运行选择哪个,都是执行的3
时间: 2024-01-03 18:05:49 浏览: 27
这个问题可能是因为您使用了错误的比较运算符。在Python中,`input()`函数的返回值是一个字符串,而不是一个整数。因此,当您将字符串`'1'`与整数`1`进行比较时,它们不会相等,因此无论用户输入什么都会执行最后一个语句。
要解决这个问题,您可以将用户输入的字符串转换为整数,然后进行比较。例如:
```python
i = input("请输入你要执行的用例:")
if int(i) == 1:
Start.start_total()
elif int(i) == 2:
Start.repeat_management_test01()
else:
Start.repeat_management_test05()
```
这样做将用户输入的字符串转换为整数,然后使用`==`比较运算符与整数进行比较,以确保正确的函数被执行。
相关问题
if __name__ == '__main__': unittest.main()
`if __name__ == '__main__': unittest.main()` 是一个常见的测试框架用法,它的作用是在运行测试模块时自动执行测试用例。如果我们直接运行测试模块,Python会执行这个语句块,调用unittest.main()函数来运行测试用例。如果我们将测试模块作为一个子模块导入到其他模块中,这个语句块就不会执行,我们需要手动调用unittest.main()函数来运行测试用例。
总而言之,这个语句块的作用是使得我们可以方便地在命令行中运行测试用例,而不需要手动调用。
if __name__ == '__main__': unittest.main()这个代码是什么意思
if __name__ == '__main__': unittest.main() 是一个常见的Python代码块,它的作用是判断当前模块是否作为主程序运行,如果是,则执行后续的代码逻辑。
具体解释如下:
- `__name__` 是一个内置变量,用于表示当前模块的名称。当一个Python文件被直接运行时,`__name__` 的值为`'__main__'`;当一个Python文件被作为模块导入时,`__name__` 的值为模块的名称。
- `if __name__ == '__main__':` 这个条件语句判断当前模块是否作为主程序运行。如果是,则执行后续的代码逻辑;如果不是,则跳过后续的代码逻辑。
在这个代码块中,`unittest.main()` 是用于执行单元测试的主函数。它会自动运行当前模块中定义的所有测试用例,并输出测试结果。