我对pytest的一个命令行参数没有问题。
运行程序时:python-m pytest-q-v--confcutdir=/usr/local/penguin/home/px09/p001--cmdopt=type1 test suite.py
我得到了预期的回应:
================================================ FAILURES ================================================
______________________________________________ test_answer _______________________________________________
cmdopt = 'type1'
def test_answer(cmdopt):
if cmdopt == "type1":
print ("first")
elif cmdopt == "type2":
print ("second")
> assert 0 # to see what was printed
E assert 0
test-suite.py:7: AssertionError
------------------------------------------ Captured stdout call ------------------------------------------
first
======================================== 1 failed in 0.01 seconds ==============
当我尝试多个参数时,我会遇到问题
def test_answer(cmdopt):
if cmdopt == "type1":
print ("first")
elif cmdopt == "type2":
print ("second")
assert 0 # to see what was printed
def test_answer2(cmdopt2):
if cmdopt2 == "type1":
print ("first")
elif cmdopt2 == "type2":
print ("second")
assert 0 # to see what was printed
import pytest
def pytest_addoption(parser):
parser.addoption("--cmdopt", action="store", default="type1",
help="my option: type1 or type2")
parser.addoption("--cmdopt2", action="store", default="type3",
help="my option: type3 or type4")
@pytest.fixture
def cmdopt(request):
return request.config.getoption("--cmdopt")
def cmdopt2(request):
return request.config.getoption("--cmdopt2")
_____________________________________设置测试应答器2时出错/usr/local/penguin/home/px09/p001/test-suite.py,第9行def测试应答器2(cmdopt2):未找到E夹具“cmdopt2”
/usr/local/penguin/home/px09/p001/test suite.py:9
================================================ FAILURES ================================================
______________________________________________ test_answer _______________________________________________
cmdopt = 'type1'
def test_answer(cmdopt):
if cmdopt == "type1":
print ("first")
elif cmdopt == "type2":
print ("second")
> assert 0 # to see what was printed
E assert 0
test-suite.py:7: AssertionError
-
我认为问题很简单。只需在cmdopt2
函数之前添加@pytest.fixture decorator
@pytest.fixture
def cmdopt(request):
return request.config.getoption("--cmdopt")
@pytest.fixture
def cmdopt2(request):
return request.config.getoption("--cmdopt2")
Node.js 自带了各种命令行选项。 这些选项开放了内置的调试、执行脚本的多种方式、以及其他有用的运行时选项。运行 man node 可在一个终端中查看操作手册。 概要 node [options] [v8 options] [script.js | -e "script" | -] [--] [arguments] node debug [script.js | -e "script" | <
Shebang 行 几乎每个 Perl 程序都如此开始: #!/usr/bin/perl 这是 UNIX 结构,它告诉 Shell 直接执行余下的输入程序文件。 你可以在此行添加 Perl 的任何命令行选项,它们将成为选项之后命令行的一部分。 如果你有一个程序包含: #!/usr/bin/perl -T 然后执行: perl -l program.pl -l 和 -T 两个选项都会使用,但
我在我的应用程序中构建了CSRF保护,只需在每个页面加载上生成一个随机令牌,将其放入会话,然后将令牌绑定到
本文向大家介绍gcc“你好,世界!” 具有常见的命令行选项,包括了gcc“你好,世界!” 具有常见的命令行选项的使用技巧和注意事项,需要的朋友参考一下 示例 对于具有单个源文件的程序,使用gcc很简单。 要从命令行编译文件hello_world.c: 然后gcc将编译程序并将可执行文件输出到文件a.out。如果要命名可执行文件,请使用-o选项。 可执行文件将被命名为hello_world而不是a.
Ruby 一般是从命令行运行,方式如下: 解释器可以通过下列选项被调用,来控制解释器的环境和行为。 选项 描述 -a 与 -n 或 -p 一起使用时,可以打开自动拆分模式(auto split mode)。请查看 -n 和 -p 选项。 -c 只检查语法,不执行程序。 -C dir 在执行前改变目录(等价于 -X)。 -d 启用调试模式(等价于 -debug)。 -F pat 指定 pat 作为默
Envoy由JSON配置文件以及一组命令行选项驱动。以下是Envoy支持的命令行选项。 -c \, --config-path \ (必选)指向v1或v2 JSON/YAML/proto3配置文件)的路径。若设置-v2-config-only选项,则将被解析为一个v2引导配置文件,如果是v1 JSON配置文件,则返回失败。对于v2配置文件,有效的扩展名是.json,.yaml,.pb和.pb_te