我正在尝试从另一台笔记本电脑中测试一台Jupyter笔记本电脑。目前,我有我的第一个笔记本Testing1 ,它在一个单元格中拥有此功能:
def add(a, b):
return a + b
和我的第二本笔记本,Testing2 ,在一个单元格中带有以下测试代码:
import unittest
class TestNotebook(unittest.TestCase):
def test_add(self):
self.assertEqual(add(2, 3), 5)
self.assertEqual(add(4, 3), 7)
以及以下单元格中的代码:
unittest.main(argv=[''], verbosity=2, exit=False)
最后,在第三本笔记本中, Testing3 ,我有这段代码,据我所知,它会编译Testing1和Testing2并运行它:
%run Testing2.ipynb
现在,所有3个笔记本都在同一个文件夹中,并且当我保存所有3个并运行 Testing3 时,就可以了!可以正确执行测试。 我的问题是,当我在 Testing1 中更改代码时,例如:
def add(a, b):
x = (a + b) + 1 //Note the added 1
return x
并保存它,然后在 Testing2 中更改我的测试以适应添加的1:
import unittest
class TestNotebook(unittest.TestCase):
def test_add(self):
self.assertEqual(add(2, 3), 6) //Note the added 1
self.assertEqual(add(4, 3), 8) //Note the added 1
保存并运行Testing2和Testing3 ,旧的测试(在我添加修改之前)运行!例如;我将得到
的输出5 != 6
但是我更改了Testing1中的函数,以便输出应为6且测试应通过。但是,在我编辑和更改功能之前,该测试仍运行旧版本,尽管之后将其保存!
感谢您的帮助