基于cxxtest框架编译和运行测试的scons工具

scons-tool-cxxtest的Python项目详细描述


PyPi package versionTravis CI build statushttps://ci.appveyor.com/api/projects/status/github/ptomulik/scons-tool-cxxtest?svg=true

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子模块

  1. 创建新的git存储库:

    mkdir /tmp/prj &&cd /tmp/prj
    touch README.rst
    git init
    
  2. scons-tool-cxxtest作为子模块添加:

    git submodule add git://github.com/ptomulik/scons-tool-cxxtest.git site_scons/site_tools/cxxtest
    
  3. 对于python 2.x,在site_tools目录中创建__init__.py

    touch site_scons/site_tools/__init__.py
    

    这将允许直接导入site_tools.cxxtest(这可能是其他工具所必需的)。

用法示例

  1. 创建简单的测试文件

    // MyTestSuite.t.h
    #include<cxxtest/TestSuite.h>classMyTestSuite:publicCxxTest::TestSuite{public:voidtestAddition(void){TS_ASSERT(1+1>1);TS_ASSERT_EQUALS(1+1,2);}};
  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')
  3. 试试看:

    scons
    

建筑商

  • CxxTestObject([target], source, **kw)
  • CxxTestProgram([target], source, **kw)
  • CxxTest([target], source, [root], **kw)

使用的构造变量

以下scons构造变量可用于自定义 cxtest工具。除此之外,a$CXXTESTGENSUFFIX还用作 CxxTestObjectbuilder的源后缀,请参见scons-tool-cxxtestgen

NameDescriptionDefault Value
CXXTESTCCFLAGSOptions for C and C++ compilers.^{tt11}$
CXXTESTCPPDEFINESC preprocessor definitions.^{tt12}$
CXXTESTCPPFLAGSC preprocessor options.^{tt13}$
CXXTESTCPPPATHList of C/C++ include directories.^{tt14}$
CXXTESTCXXThe C++ compiler.^{tt15}$
CXXTESTCXXFLAGSOptions for C++ compiler.^{tt16}$
CXXTESTINCLUDEPATHExtra include path to be prepended to CPPPATH.Determined automatically.
CXXTESTLIBPATHList of directories to be searched for libraries.^{tt17}$
CXXTESTLIBPREFIXThe prefix used for (static) library names.^{tt18}$
CXXTESTLIBSA list of libraries to be linked with executable.^{tt19}$
CXXTESTLIBSUFFIXThe suffix used for (static) library names.^{tt20}$
CXXTESTLINKThe linker.^{tt21}$
CXXTESTLINKFLAGSGeneral user options passed to the linker.^{tt22}$
CXXTESTOBJPREFIXThe prefix used for (static) object file names.^{tt23}$
CXXTESTOBJSUFFIXThe suffix used for (static) object file names.^{tt24}$
CXXTESTPROGPREFIXThe prefix used for executable file names.^{tt25}$
CXXTESTPROGSUFFIXThe suffix used for executable file names.^{tt26}$
CXXTESTRUNFLAGSOptions for test runner.^{tt27}$

许可证

版权所有(c)2018 Pawel Tomulik<;ptomulik@meil.pw.edu.pl>;

兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:

上述版权公告及本许可公告须包括在 软件的拷贝或大部分。

本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与本软件有关,或使用或与本软件的其他交易有关。 软件

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在安卓 studio中使用调用jaxws web服务的jar文件   java双时间模拟时钟不打印两个不同的时间   java Jackson反序列化处理不带字段的生成值   多线程在java同步中读锁的目的是什么   为什么java中有这么多获取日期时间的方法?   java从listview中的TextView获取数据   java是否可以定义如何对枚举进行(反)序列化以在枚举内持久化?   Java:异常处理我的catch()有问题   VMWare java SDK:可用的PerfMetricID何时不报告数据?   exec在Java中执行命令而不重定向输出   java使用SpringXML配置实现观察者模式?   java在竹笔平板电脑中使用JPen