基于cxxtest框架编译和运行测试的scons工具
scons-tool-cxxtest的Python项目详细描述
SCons用于编译和运行基于cxxtest框架的单元测试的工具。
安装
为您的项目安装此工具的方法很少。
来自pypi
如果在virtualenv下构建项目,则此方法可能更可取。到 从pypi添加cxtest工具,键入(在wirtualenv中):
pip install scons-tool-loader scons-tool-cxxtest
或者,如果您的项目使用pipenv:
pipenv install --dev scons-tool-loader scons-tool-cxxtest
或者,您可以将其添加到您的Pipfile
[dev-packages] scons-tool-loader = "*" scons-tool-cxxtest = "*"
该工具将作为命名空间包^{tt2}安装$ 在项目的虚拟环境中。您可以进一步使用scons-tool-loader 加载工具。
作为git子模块
创建新的git存储库:
mkdir /tmp/prj &&cd /tmp/prj touch README.rst git init
将scons-tool-cxxtest作为子模块添加:
git submodule add git://github.com/ptomulik/scons-tool-cxxtest.git site_scons/site_tools/cxxtest
对于python 2.x,在site_tools目录中创建__init__.py:
touch site_scons/site_tools/__init__.py
这将允许直接导入site_tools.cxxtest(这可能是其他工具所必需的)。
用法示例
创建简单的测试文件
// MyTestSuite.t.h #include<cxxtest/TestSuite.h>classMyTestSuite:publicCxxTest::TestSuite{public:voidtestAddition(void){TS_ASSERT(1+1>1);TS_ASSERT_EQUALS(1+1,2);}};
创建简单的sconstruct文件
# SConstruct# TODO: uncomment following lines if the tool is installed via pip/pipenv# import sconstool.loader# sconstool.loader.extend_toolpath(transparent=True)env=Environment(tools=['default','cxxtest'])env.CxxTest('MyTestSuite')
试试看:
scons
建筑商
- CxxTestObject([target], source, **kw),
- CxxTestProgram([target], source, **kw),
- CxxTest([target], source, [root], **kw)。
使用的构造变量
以下scons构造变量可用于自定义 cxtest工具。除此之外,a$CXXTESTGENSUFFIX还用作 CxxTestObjectbuilder的源后缀,请参见scons-tool-cxxtestgen。
Name | Description | Default Value |
---|---|---|
CXXTESTCCFLAGS | Options for C and C++ compilers. | ^{tt11}$ |
CXXTESTCPPDEFINES | C preprocessor definitions. | ^{tt12}$ |
CXXTESTCPPFLAGS | C preprocessor options. | ^{tt13}$ |
CXXTESTCPPPATH | List of C/C++ include directories. | ^{tt14}$ |
CXXTESTCXX | The C++ compiler. | ^{tt15}$ |
CXXTESTCXXFLAGS | Options for C++ compiler. | ^{tt16}$ |
CXXTESTINCLUDEPATH | Extra include path to be prepended to CPPPATH. | Determined automatically. |
CXXTESTLIBPATH | List of directories to be searched for libraries. | ^{tt17}$ |
CXXTESTLIBPREFIX | The prefix used for (static) library names. | ^{tt18}$ |
CXXTESTLIBS | A list of libraries to be linked with executable. | ^{tt19}$ |
CXXTESTLIBSUFFIX | The suffix used for (static) library names. | ^{tt20}$ |
CXXTESTLINK | The linker. | ^{tt21}$ |
CXXTESTLINKFLAGS | General user options passed to the linker. | ^{tt22}$ |
CXXTESTOBJPREFIX | The prefix used for (static) object file names. | ^{tt23}$ |
CXXTESTOBJSUFFIX | The suffix used for (static) object file names. | ^{tt24}$ |
CXXTESTPROGPREFIX | The prefix used for executable file names. | ^{tt25}$ |
CXXTESTPROGSUFFIX | The suffix used for executable file names. | ^{tt26}$ |
CXXTESTRUNFLAGS | Options for test runner. | ^{tt27}$ |
许可证
版权所有(c)2018 Pawel Tomulik<;ptomulik@meil.pw.edu.pl>;
兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:
上述版权公告及本许可公告须包括在 软件的拷贝或大部分。
本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与本软件有关,或使用或与本软件的其他交易有关。 软件