最后几个失败的构建在我的计算机上运行良好,但我很难让它们传递到 travis。问题来自于测试中的几行(以及其他类似的操作):https://github.com/garth5689/pyd2l/blob/master/test/pyd2l_test.py#L15-L20 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 构建中出现以下一系列错误:
======================================================================
ERROR: test_calculate_reward_rounded_ceil (pyd2l_test.MatchTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/travis/build/garth5689/pyd2l/test/pyd2l_test.py", line 70, in setUp
with open('./test_Match_1899_pickle.pkl', 'rb') as test_Match_pickle: self.test_= pickle.load(
FileNotFoundError: [Errno 2] No such file or directory: './test_Match_1899_pickle.pkl'
这是目录结构
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
测试在我的本地计算机上运行良好。 (我添加了./
在我的测试期间查看文件名,看看我是否可以让它自己工作。我认为环境变量中可能有一些我需要使用的东西,但我不确定。特拉维斯也可能不允许腌制/取消腌制,但我找不到任何与此效果相关的内容。任何帮助表示赞赏。
特拉维斯构建:https://travis-ci.org/garth5689/pyd2l/builds https://travis-ci.org/garth5689/pyd2l/builds