python写单元测试
时间: 2023-07-07 11:44:37 浏览: 49
写 Python 单元测试需要使用 Python 自带的 unittest 模块,以下是一个简单的示例:
```python
import unittest
def add(a, b):
return a + b
class TestAddFunction(unittest.TestCase):
def test_add_positive_numbers(self):
self.assertEqual(add(3, 4), 7)
def test_add_negative_numbers(self):
self.assertEqual(add(-3, -4), -7)
def test_add_mixed_numbers(self):
self.assertEqual(add(3, -4), -1)
def test_add_strings(self):
self.assertRaises(TypeError, add, '3', '4')
if __name__ == '__main__':
unittest.main()
```
在这个例子中,我们定义了一个名为 `add` 的函数,然后创建了一个名为 `TestAddFunction` 的测试类,其中包含了四个测试方法。每个测试方法都使用 `assertEqual` 方法来断言函数的返回值是否符合预期。最后,我们使用 `unittest.main()` 来执行测试。
相关问题
python 写单元测试
Python的单元测试通常使用unittest模块来编写。下面是一个示例:
```python
import unittest
def add(a, b):
return a + b
class TestAddFunction(unittest.TestCase):
def test_addition(self):
self.assertEqual(add(2, 3), 5)
self.assertEqual(add(-1, 1), 0)
self.assertEqual(add(0, 0), 0)
if __name__ == '__main__':
unittest.main()
```
在这个示例中,我们定义了一个简单的add函数,并使用unittest模块编写了一个名为TestAddFunction的测试类,其中包含一个名为test_addition的测试方法。在测试方法中,我们使用assertEqual断言来检查函数的输出是否与期望值相等。最后,我们使用unittest.main()来运行测试。
执行上述代码将输出以下结果:
```
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
```
这表示我们的测试通过了。如果测试失败,则会显示详细的错误信息。
python单元测试怎么写
Python单元测试一般使用`unittest`或`pytest`模块,下面是一个使用`unittest`模块的示例:
```python
import unittest
class MyTest(unittest.TestCase):
def test_add(self):
self.assertEqual(1 + 2, 3)
def test_subtract(self):
self.assertEqual(5 - 3, 2)
if __name__ == '__main__':
unittest.main()
```
这个例子中,我们定义了一个名为`MyTest`的测试类,继承自`unittest.TestCase`。在类中,我们定义了两个测试方法`test_add`和`test_subtract`,它们分别测试了加法和减法的正确性。在每个测试方法中,我们使用`assertEqual`断言方法,来判断测试结果是否符合预期。最后,我们使用`unittest.main()`方法来运行测试。
如果我们想运行这个测试文件,可以在终端中执行以下命令:
```
python test_example.py
```
除了`unittest`模块,还有`pytest`模块可以用于单元测试。`pytest`相对于`unittest`来说,使用更加简洁,易于阅读和编写。下面是一个使用`pytest`模块的示例:
```python
def test_add():
assert 1 + 2 == 3
def test_subtract():
assert 5 - 3 == 2
```
在这个例子中,我们直接定义了两个测试函数`test_add`和`test_subtract`,使用`assert`语句来判断测试结果是否符合预期。如果我们想运行这个测试文件,可以在终端中执行以下命令:
```
pytest test_example.py
```
无论是使用`unittest`还是`pytest`模块,我们在编写单元测试时应该遵循以下几个原则:
1. 单元测试应该是自动化的,不需要人为干预。
2. 单元测试应该是可重复的,每次运行的结果应该相同。
3. 单元测试应该是独立的,测试方法之间不应该有依赖关系。
4. 单元测试应该是全面的,覆盖代码的各种分支和边界情况。