TypeError: assertEqual() missing 1 required positional argument: 'second'
TypeError: assertEqual() missing 1 required positional argument: 'second'
我正在使用 test.testEqual() 在 Runestone 中进行一个项目。我使用 Anaconda/Spyder 控制台并将代码翻译回 Runestone。 Python 似乎不支持 test.testEqual 所以我尝试在 unittest 框架下使用 TestCase.assertEqual(first,second, msg) 方法。我的代码抛出错误信息:
类型错误:assertEqual() 缺少 1 个必需的位置参数:'second'
但正如我在下面的代码中所示,我在调用中包含了两个参数。我是单元测试的新手,所以不确定去哪里解决这个问题?
从 test.testEqual() 切换到 TestCase.assertEqual(first,second,msg)
from unittest import TestCase
def distance(x1, y1, x2, y2):
dx = x2 - x1
dy = y2 - y1
dsquared = dx**2 + dy**2
result = dsquared**0.5
return result
TestCase.assertEqual(distance(1,2, 1,2),0,msg='Equal')
TestCase.assertEqual(distance(1,2, 4,6), 5, msg='Equal')
TestCase.assertEqual(distance(0,0, 1,1), 2**0.5, msg='Equal')
我们预计这三个测试用例会根据它们在 Runestone 控制台中的执行情况通过。
我建议以不同的方式使用 TestCase。而是进行测试 class 并继承 unittest.TestCase。添加一个单独的测试然后你就可以开始了
class TestDistance(TestCase):
def test_distance(self):
self.assertEqual(distance(1, 2, 1, 2), 0, msg='Equal')
self.assertEqual(distance(1, 2, 4, 6), 5, msg='Equal')
self.assertEqual(distance(0, 0, 1, 1), 2 ** 0.5, msg='Equal')
我正在使用 test.testEqual() 在 Runestone 中进行一个项目。我使用 Anaconda/Spyder 控制台并将代码翻译回 Runestone。 Python 似乎不支持 test.testEqual 所以我尝试在 unittest 框架下使用 TestCase.assertEqual(first,second, msg) 方法。我的代码抛出错误信息: 类型错误:assertEqual() 缺少 1 个必需的位置参数:'second'
但正如我在下面的代码中所示,我在调用中包含了两个参数。我是单元测试的新手,所以不确定去哪里解决这个问题?
从 test.testEqual() 切换到 TestCase.assertEqual(first,second,msg)
from unittest import TestCase
def distance(x1, y1, x2, y2):
dx = x2 - x1
dy = y2 - y1
dsquared = dx**2 + dy**2
result = dsquared**0.5
return result
TestCase.assertEqual(distance(1,2, 1,2),0,msg='Equal')
TestCase.assertEqual(distance(1,2, 4,6), 5, msg='Equal')
TestCase.assertEqual(distance(0,0, 1,1), 2**0.5, msg='Equal')
我们预计这三个测试用例会根据它们在 Runestone 控制台中的执行情况通过。
我建议以不同的方式使用 TestCase。而是进行测试 class 并继承 unittest.TestCase。添加一个单独的测试然后你就可以开始了
class TestDistance(TestCase):
def test_distance(self):
self.assertEqual(distance(1, 2, 1, 2), 0, msg='Equal')
self.assertEqual(distance(1, 2, 4, 6), 5, msg='Equal')
self.assertEqual(distance(0, 0, 1, 1), 2 ** 0.5, msg='Equal')