pytest在pycharm中通过了,但在命令行中失败了

问题描述 投票:0回答:1

我有很多测试类,其中有一个特定的类包含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 可能吗?

python pycharm pytest
1个回答
0
投票

OK,所以确实是配置设置的问题。 这些错误很烦人,完全是我的问题。 有一个额外的配置文件路径,我必须预先用 str(pathlib.Path(__file__).parent.absolute()). 这是一个疏忽。

© www.soinside.com 2019 - 2024. All rights reserved.