繁体   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