簡體   English   中英

使用鼻子測試時出現“沒有這樣的文件或目錄”錯誤

[英]'No such file or directory' error when using nosetests

我有一個小 Python 項目,我最近制作了一個 Conda package。 制作 package 本身就很痛苦,然而,我最近開始使用鼻子測試對此進行測試,這使得它變得更加困難。

介紹一下:我的 package 接受一定的輸入,執行大量(量子化學)計算,然后在與調用 package 的腳本相同的目錄下生成一個文件夾,其中包含 Z78E6221F6393D13568D 和 datasome.png 文件(文件)二進制文件)

使用鼻子測試,我想檢查這些 output 文件是否應該是這樣的。 我創建了一個 Python 測試腳本(使用 unittest)創建輸入並調用我的 package。 接下來,它導入創建的文件和測試文件。 然而,這就是它出錯的地方。 我收到此文件不存在的錯誤:

FileNotFoundError: [Errno 2] No such file or directory: 'results\\output.txt'

該目錄如下所示:

project-path\
- tests\
  - test-script.py
  - results\
    - output.txt

我通過在 Anaconda 提示符中運行它來調用鼻子:

project-path> nosetests tests

我使用以下命令將文件導入 Python 測試腳本中:

result_file = open('results\\output.txt', 'r').read()

有誰知道這里出了什么問題? 我認為這與測試是在測試環境中執行的事實有關。 在這種情況下:如何導入我的文件?

獲取output.txt的絕對路徑,確實是最靠譜的定位打開方式。

import os, sys

basedir = os.path.dirname(sys.argv[0])
filename = "output.txt"
path = os.path.join(basedir, "results", filename)

result_file = open(path, 'r').read()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM