filename='tt11_1_1.py' from filename import earth import unittest class Test(): def test_city_country(self): earth=earth('santiago','chile') self.assertEqual(earth,'Santiago Chile') if '__name__'=='__main__': unittest.main()
时间: 2023-12-22 19:02:44 浏览: 129
这段代码有一些问题,可以修改为以下代码:
```python
from tt11_1_1 import earth
import unittest
class Test(unittest.TestCase):
def test_city_country(self):
e = earth('santiago', 'chile')
self.assertEqual(e, 'Santiago, Chile')
if __name__ == '__main__':
unittest.main()
```
在这个代码中,我们将 `tt11_1_1.py` 文件中的 `earth` 函数导入,并在测试用例中使用它。我们还将测试用例继承自 `unittest.TestCase` 类,并使用 `assertEqual` 方法来检查 `earth` 函数的输出是否与预期相同。最后,我们使用 `if __name__ == '__main__':` 来运行测试用例。
相关问题
import unittest from tt11_3_1 import Employee class Employ(unittest.TestCase): def setup(self): self.xzh=Employee('zihao','xiong',6000) def test_give_default_raise(self): self.xzh.give_raise() self.asserEqual(self.xzh.price,11000) def teat_give_custom_raise(): self.xzh.give_raise(500) self.asserEqual(self.xzh.price,6500) if '__name__'=='__main__': unittest.main()
你的代码有一些问题,首先是 `class Employ` 这个类名应该是 `class TestEmployee`,因为你是在编写测试用例。其次,`setup` 方法应该是 `setUp`,并且你需要在方法名前加上 `test` 前缀,这样才能被 `unittest` 自动识别为测试用例。最后,`asserEqual` 方法应该是 `assertEqual`。
下面是修改后的代码:
```python
import unittest
from tt11_3_1 import Employee
class TestEmployee(unittest.TestCase):
def setUp(self):
self.xzh = Employee('zihao', 'xiong', 6000)
def test_give_default_raise(self):
self.xzh.give_raise()
self.assertEqual(self.xzh.price, 11000)
def test_give_custom_raise(self):
self.xzh.give_raise(500)
self.assertEqual(self.xzh.price, 6500)
if __name__ == '__main__':
unittest.main()
```
注意,你需要在当前目录下存在 `tt11_3_1.py` 文件,且其中定义了 `Employee` 类。
from work11_3 import Employee import unittest class Give_raiseTest(unittest.TestCase): def setup(self): self.ep_1=Employee('张','一',5000) def test_give_default_raise(self): ep_1_raise=self.ep_1.give_raise() self.asserEqual(ep_1_raise,10000) def test_give_custom_raise(self): ep1_raise=self.ep_1.give_raise(7000) self.asserEqual(ep_1_raise,10000) unittest.main()
这段代码有几个小问题:
1. `setup` 方法应该是 `setUp`,这是由于 `unittest` 框架对于特定的方法名称有要求。
2. 在第二个测试用例中,断言语句应该是 `self.assertEqual(ep1_raise,12000)`,因为自定义加薪金额为 7000,所以总工资应该是 12000。
修改后的代码如下:
```python
from work11_3 import Employee
import unittest
class Give_raiseTest(unittest.TestCase):
def setUp(self):
self.ep_1 = Employee('张', '一', 5000)
def test_give_default_raise(self):
ep_1_raise = self.ep_1.give_raise()
self.assertEqual(ep_1_raise, 10000)
def test_give_custom_raise(self):
ep_1_raise = self.ep_1.give_raise(7000)
self.assertEqual(ep_1_raise, 12000)
unittest.main()
```
阅读全文