基于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第三方库


热门话题
手机上的html调试Java web应用程序   Java当前日期和过去日期之间的差值,以年、月、日、小时、分、秒为单位   如果方法名称相同,java如何使扩展类不从上面的类触发方法?   即使在提供了准确的firebase引用之后,java仍出现“无法跳转到类型”异常。请看详情   jar文件中的java图像   java如何避免从缓存读取时修改相同的对象实例?   Android中java完全控制的线程队列   JTextArea中的java计算   java如何独立运行。jar作为64位mashine上的32位   java在尝试实例化自引用泛型类的实例时,如何处理自引用类型参数   java如何安装着色jar而不是原来的jar   java在resultSet之后使用If-Else   多线程是java。朗,反思一下。方法调用线程安全   java 7语言向后兼容性   Objective C中的Category和Java 8中的Default方法是否等效?