bash 脚本不读取 pytest 文件
bash script doesn't read pytest files
我正在使用 pytest
为我的 django 项目编写一些测试用例。我在根目录中创建了一个 .ini
文件,如下所示:
python_files =
tests.py
test_*.py
*_tests.py
*_test.py
norecursedirs =
devops
docs
media
settings
common
templates
addopts =
--maxfail=9999
--showlocals
--color=yes
--runxfail
--strict-markers
--durations=30
-r a
; --reuse-db
--no-migrations
--pdbcls=IPython.terminal.debugger:TerminalPdb
并在主目录中创建了一个文件夹 /devops
并在一个名为 backend_tests.sh
的 bash 文件中,例如:
#!/usr/bin/env bash
options+=("--cov")
options+=("--disable-warnings")
echo "launch pytest ${options[@]}"
poetry run pytest "${options[@]}"
if [[ $? == 1 ]]; then exit 1; fi
当我 运行 devops/backend_tests.sh
它显示,收集了 0 个项目 但是当我将 backend_tests.sh
移动到主目录并且 运行 ./backend_tests.sh
它显示收集了5个项目(这意味着加载测试用例。
如果没有给pytest
参数,它discovers tests从当前路径递归。所以如果你想使用相同的命令,你可以只改变它执行的路径:
pushd <test_path>
poetry run pytest
popd
您也可以给出测试或测试路径 on the command line,所以最短的方法就是:
poetry run pytest <test_path>
(在你的情况下 <test_path>
可能只是 ..
)
我正在使用 pytest
为我的 django 项目编写一些测试用例。我在根目录中创建了一个 .ini
文件,如下所示:
python_files =
tests.py
test_*.py
*_tests.py
*_test.py
norecursedirs =
devops
docs
media
settings
common
templates
addopts =
--maxfail=9999
--showlocals
--color=yes
--runxfail
--strict-markers
--durations=30
-r a
; --reuse-db
--no-migrations
--pdbcls=IPython.terminal.debugger:TerminalPdb
并在主目录中创建了一个文件夹 /devops
并在一个名为 backend_tests.sh
的 bash 文件中,例如:
#!/usr/bin/env bash
options+=("--cov")
options+=("--disable-warnings")
echo "launch pytest ${options[@]}"
poetry run pytest "${options[@]}"
if [[ $? == 1 ]]; then exit 1; fi
当我 运行 devops/backend_tests.sh
它显示,收集了 0 个项目 但是当我将 backend_tests.sh
移动到主目录并且 运行 ./backend_tests.sh
它显示收集了5个项目(这意味着加载测试用例。
如果没有给pytest
参数,它discovers tests从当前路径递归。所以如果你想使用相同的命令,你可以只改变它执行的路径:
pushd <test_path>
poetry run pytest
popd
您也可以给出测试或测试路径 on the command line,所以最短的方法就是:
poetry run pytest <test_path>
(在你的情况下 <test_path>
可能只是 ..
)