我有很多测试类,其中有一个特定的类包含12个测试。 其中有两个测试在pycharm中可以通过,但在powerhell中不能通过。 其中一个是这样的。
def test_create_block_when_called_returns_correct_no_jbs(self):
designer = BlockDesigner(CsvStore(self.config), FakeRouter(), self.config)
block = designer.create_block("BK1")
result = len(block.junction_boxes)
assert result == 10
它在pycharm中完美地通过了 当在外部运行时,它的断言标准失败了。
> assert result == 10
E assert 9 == 10
这说明它从命令行中得到的设置 和在pycharm中运行时的设置不同. 这个测试类有一个 setup_method
实例化所需的配置文件,并特别注意获取当前路径,因为这些测试也在DevOps中运行。
def setup_method(self):
self.path = str(pathlib.Path(__file__).parent.absolute())
self.config = Configuration(self.path + "/test_config.yml").get_config()
我在这个测试类中的另外一个测试也有类似的问题 但其他10个测试都使用同样的设置,在命令行上通过了。
这是我第一次遇到这种情况。 是不是我在这个测试类中缺少了什么?setup_method
可能吗?
OK,所以确实是配置设置的问题。 这些错误很烦人,完全是我的问题。 有一个额外的配置文件路径,我必须预先用 str(pathlib.Path(__file__).parent.absolute())
. 这是一个疏忽。