关于 moduleImportFailure的问题

 

这个问题真的是困扰了我太久太久,事情是这样的:最开始,我写了一些自动化的测试case,之后我们老大让我把写好的模块迁移到他写好的一个框架上,直接生成测试报告。我把case迁移上去之后,改了一下import的路径,开始运行,就开始报错了

 

,首先是,我完全是一头雾水,之后我就开始用pycharm的debug调试查找原因,最后定位到是moduleImportFailure的错误。

 

可是我还是不明白为什么引用模块会出错,我开始了大量的实验。我把我失败的那个case,与原来里面的一个测试demo逐步地进行比较,开启debug,一步一步的去定位错误,最终定位到了一个叫discover的函数,他中间调用了unittet框架自带的loader,然后loader有调用了__import__这个内置魔法方法

 

。问题就出现在这。我逐步推进,一步一步定位到了这里,在__import__方法之后,他没有走下一步,而是直接被捕获异常的代码捕获了,于是我print了一下异常,发现了另一个错误,这时候,基本上就比较明朗了,就是这个文件没有找到,也就是这个文件的路径是错误的。

 

但是我用了全局搜索,发现根本没有这个文件或者这个路径的有关信息,没办法,我只能去顺着这个文件的路径去找这个文件,我还真的找到了,但是我发现他的路径应该是没错的。我继续查看错误,之后,我打开了conf。py这个文件,在里面,我终于看到了刚才报错的那个路径,于是我把路径改成了我现在迁移完的文件的路径,但是在改完之后,还是有些问题,路径还是找不到,于是我又从新定义了一个变量

之后我把_path的值改为了我现在所在框架的路径,最终终于解决了这个错误。

posted @ 2019-04-26 14:32  蜗牛也能追上兔子  阅读(514)  评论(0编辑  收藏  举报