最后几个失败的构建在我的计算机上通过得很好,但是我很难让它们通过travis。问题来自于测试中的几行代码(以及其他类似的操作):https://github.com/garth5689/pyd2l/blob/master/test/pyd2l_test.py#L15-L20
在我的测试中,因为我有复杂的数据需要测试,所以我对这些数据进行了处理,以方便再次打开它,而不必每次测试时都多次访问我正在抓取的网站。(请随意讨论此测试策略的优点,但这不是问题的主题。)
class PyD2LMethodsTest(unittest.TestCase):
def setUp(self):
with open('./soup_1899_pickle.pkl', 'rb') as soup_pickle:
self.soup = pickle.load(soup_pickle)
with open('./soup_1899_details_pickle.pkl', 'rb') as details_pickle:
self.test_details = pickle.load(details_pickle)
with open('./test_Match_1899_pickle.pkl', 'rb') as test_Match_pickle:
self.test_match = pickle.load(test_Match_pickle)
这会导致我的travis构建出现以下一系列错误:
^{pr2}$这是目录结构
pyd2l (repo)
|-- pyd2l
| |-- (actual source files)
|
+-- test
|-- pyd2l_test.py
|-- soup_1899_details_pickle.pkl
|-- soup_1899_pickle.pkl
|-- soup_404_pickle.pkl
+-- test_Match_1899_pickle.pkl
这些测试在我本地的机器上运行得很好。(我在测试期间将./
添加到文件名中,看看是否可以让它自己工作。我想环境变量中可能有些东西需要处理,但我不确定。也有可能travis不允许酸洗/脱粘,但我找不到任何与之相关的东西。感谢任何帮助。在
./
是多余的;文件的路径已经是相对于当前工作目录的。在问题是您希望它与您的测试目录相对,因此:
我也遇到了同样的问题,在mac系统上运行测试可以很好地工作,但是当我试图在travisci或ubuntu上运行测试时,得到了一个FileNotFoundError。Travis CI使用的是ubuntu系统。假设你有一个文件夹结构:
如果“file1.py”中有一个open()函数,该函数用于创建输出文件夹和输出.txt'文件,然后在ubuntu系统上运行测试,希望您的系统或github存储库中已经有了'output_folder'输出.txt'文件不必存在,但文件夹应该存在。因此,如果您已将文件夹添加到.gitignore,则可能需要将其删除。希望有帮助。在
相关问题 更多 >
编程相关推荐