我是新手,如果听起来很天真,请原谅我。我用fastcgi ++编写了一个脚本。我测试了基本用例。但是,像一位优秀的软件工程师一样,我想在每次更改时都测试脚本,以确保不中断任何事情。
这曾经是我做的:
这是我的目录结构:
script:
- bin
- build (contained the bash script to compile the script)
- src
- tests
- build (contained bash script to compile the test)
- src (contained the test file)
- output
我破解了我的测试方式。我曾经使用curl来调用脚本,并将其输出重定向到测试/输出中的文件(使用相对路径),并将其与预期输出进行比较。我之所以能够这样做,是因为测试是手动编译的,并且仅在将目录更改为tests/build
后才执行测试。我最近决定使用构建系统。我选择介子。使用介子进行测试的方法是运行meson test
或ninja test
。现在的问题是我无法控制从哪里运行测试。
在这种情况下如何测试?以及如何测试fcgi脚本?
问题是我现在无法从测试的运行位置进行控制。
默认情况下,测试在构建目录中运行,但是可以使用参数workdir(请参阅reference)设置将用作测试工作目录的绝对路径] >,例如:
exe = executable(...) wdir = join_paths(meson.current_source_dir(), 'some_dir') test('basic', exe, workdir : wdir)
检查meson object是否有其他可能的参考目录。