首页 > 解决方案 > 有没有办法从另一个 jupyter notebook 测试一个 jupyter notebook?

问题描述

我正在尝试从另一个测试一个 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 并且测试应该通过。但是,测试仍然运行旧版本,在我编辑和更改功能之前,尽管我保存了它!

谢谢你的帮助

标签: pythonjupyter-notebookjupyter

解决方案


推荐阅读