精华内容
下载资源
问答
  • doctest-源码

    2021-02-16 15:46:26
    doctest
  • sbt-doctest:scala的doctest
  • Python测试框架doctest

    2021-04-08 14:47:11
  • Doctest:测试交互式Haskell示例 doctest是一个小程序,用于检查。 它与相似,。 安装 可以从获得doctest 。 通过键入以下内容进行安装: cabal install doctest 确保Cabal的bindir在您的PATH 。 在Linux上: ...
  • 榆木doctest 针对Elm-lang源文件的 安装 npm install elm-doctest 它取决于elm并假定可以通过系统范围内的安装或npm模块安装来使用elm-make和elm-repl 。 确保elm-make成功处理您的elm源文件。 它是如何工作的? ...
  • Doctest continuations

    2020-12-09 11:51:26
    doctest line continuation format introduced in <a href="http://trac.sagemath.org/sage_trac/ticket/12415">Sage trac #12415</a> was breaking things.</p><p>该提问来源于开源项目:sagemath/sagenb...
  • doctest-prop 现在上游包已经集成了对支持,这个包已经完成了它的角色并且被弃用了。 请使用 doctest 中的。 这个包曾经是什么 这个包允许你在 doctest 中编写 QuickCheck 属性,使用在测试成功时保持沉默的函数,...
  • doctest模块

    2018-11-21 17:17:53
    doctest模块会搜索那些看起来像是python交互式会话中的代码片段,然后尝试执行并验证结果。 doctest嵌入源码中(还有一种是独立文件) ''' 这个例子展示如何在源码中嵌入doctest用例。 '&amp;gt;&amp;gt;&...

    doctest模块会搜索那些看起来像是python交互式会话中的代码片段,然后尝试执行并验证结果。

    doctest嵌入源码中(也可以写入另外一个文件)

    '''
    这个例子展示如何在源码中嵌入doctest用例。
    '>>>' 开头的行就是doctest测试用例。
    不带 '>>>' 的行就是测试用例的输出。
    如果实际运行的结果与期望的结果不一致,就标记为测试失败。
    '''
    def multiply(a, b):
        """
        >>> multiply(4, 3)
        12
        >>> multiply('a', 3)
        'aaa'
        """
        return a * b
    if __name__=='__main__':
    	import doctest
    	doctest.testmod(verbose=True)
    

    有两个地方可以放doctest测试用例,一个位置是模块的最开头,另一个位置是函数声明语句的下一行(就像上面的例子这样)。除此之外的其它地方不能放,放了也不会执行。

    那个verbose参数,如果设置为True则在执行测试的时候会输出详细信息。默认是False,表示运行测试时,只有失败的用例会输出详细信息,成功的测试用例不会输入任何信息。

    展开全文
  • 使用CMake安装和使用doctest的最小项目 该项目没有依赖关系,这说明了如何使用CMake来获取doctest。 它还显示了如何自动配置测试。 建筑 mkdir build cd build cmake .. # (-G Ninja) to use Ninja make # (or Ninja...
  • haxe-doctest-基于Haxedoc的单元测试。 执照 它是什么? 受Python的doctest命令启发的haxelib ,该命令根据源代码的Haxedoc注释中声明的断言生成单元测试。 haxe-doctest支持为Haxe Unit , MUnit生成测试用例,...
  • doctest使用心得

    2021-09-27 09:16:09
    单元测试框架很多,ubuntu使用gtest很方便,window平台主要是使用vs2017开发...后来在网上找到doctest轻量级测试框架,详细介绍可以看C++单元测试工具——doctest_liao20081228的博客-CSDN博客_doctest,写的很详细...

            单元测试框架很多,ubuntu使用gtest很方便,window平台主要是使用vs2017开发,我使用vs开发qt的项目,虽然vs自带的单元测试现在配置少了许多,不过还是需要导入.props文件,测试时需要将应用程序工程改为静态库工程,我qt的.props配置只导入include,这样,工程里面的include就需要一级目录。后来在网上找到doctest轻量级测试框架,详细介绍可以看C++单元测试工具——doctest_liao20081228的博客-CSDN博客_doctest,写的很详细。
            doctest的导入很简单,只需要将doctest.h文件放入工程目录,在用#include"doctest.h"即可,无需其他配置。

            我觉得doctest最大的优点无需新建测试工程,特别是第三方库很多的工程,每次配置环境都是折磨,测试代码和源码在同一文件。

            因为doctest测试代码与生产代码放在同一cpp文件,看文章说也可以像gtest一样另写测试文件,只是这样就放弃doctest的优势。我希望在正式编译时,可以去掉测试代码,看文档说,定义DOCTEST_CONFIG_DISABLE标识符可以从二进制执行文件中删除与测试相关的所有内容。我使用的时候,定义DOCTEST_CONFIG_DISABLE后,会编译报错,没有找到很好的解决方法。我的解决方法是自定义__DOCTEST_DISABLE宏,然后测试代码都使用#ifndef__DOCTEST_DISABLE 和#endif包含。

            这样工程在main.cpp中的代码为

    #include "mainWin.h"
    #include <QApplication>
    #include <vtkOutputWindow.h>
    #include "def.h"
    #define DOCTEST_CONFIG_IMPLEMENT
    #include "doctest.h"
    
    
    int main(int argc, char *argv[])
    {
    	//去掉vtk报错窗口
    	//vtkOutputWindow::SetGlobalWarningDisplay(0);
    
    	QApplication a(argc, argv);
    	MainWin w;
    	w.show();
    	w.showMaximized();
    
    #ifndef __DOCTEST_DISABLE
    	doctest::Context context;
    	context.applyCommandLine(argc, argv);
    	context.setOption("order-by", "name");
    	int res = context.run(); // run doctest
    
    	if (context.shouldExit()) {
    		// propagate the result of the tests
    		return res;
    	}
    #endif // !__DOCTEST_DISABLE
    
    	int ret = a.exec();
    
    	return ret;
    }
    

    注意 #define DOCTEST_CONFIG_IMPLEMENT要在#include "doctest.h"前面,def.h文件为

    #ifndef __DEF_H__
    #define __DEF_H__
    //#define DOCTEST_CONFIG_DISABLE
    //#define __DOCTEST_DISABLE
    #endif //__DEF_H__
    

    移除测试代码时,将两个宏注释去掉。

    在单例读写json文件的类中,测试数据读写,需要测试的.cpp文件中包含"def.h"和"doctest.h"

    #include "def.h"
    #include "doctest.h"
    
    #ifndef __DOCTEST_DISABLE
    TEST_CASE("testing SparaSet function") {
    	bool ret = CONFIG->ReadJsonFile("D:\\data\\test\\config.json");
    	REQUIRE(ret);
    
    	
    	SUBCASE("test getSpara double") {
    		CONFIG->setSpara("test", "pi", 3.14);
    		CONFIG->setSpara("pi", 3.14);
    		double pi = CONFIG->getSpara("test", "pi").toDouble();
    		CHECK(pi== doctest::Approx(3.14));
    		pi = CONFIG->getSpara("pi").toDouble();
    		CHECK(pi == doctest::Approx(3.14));
    
    		double zero = CONFIG->getSpara("test", "zero").toDouble();
    		CHECK(zero == doctest::Approx(0));
    		
    	}
    
    	SUBCASE("test getSpara string") {
    		QVariant str("strTest");
    		CONFIG->setSpara("test", "str", str);
    		CONFIG->setSpara("str", str);
    
    		QString getStr = CONFIG->getSpara("test", "str").toString();
    		CHECK(getStr.compare(str.toString()) == 0);
    		getStr = CONFIG->getSpara( "str").toString();
    		CHECK(getStr.compare(str.toString()) == 0);
    
    		getStr = CONFIG->getSpara("test", "empty").toString();
    		CHECK(getStr.isEmpty());
    
    	}
    }
    #endif

    在common.cpp文件中

    #include "def.h"
    #include "doctest.h"
    
    #ifndef __DOCTEST_DISABLE
    TEST_CASE("testing common function") {
    	string file = "D:\\data\\test\\1.txt";
    	string noexist = "D:\\data\\test\\none.txt";
    	string empty = "";
    	SUBCASE("test IsExist") {
    		CHECK(Common::IsExist(file.c_str()));
    		CHECK_FALSE(Common::IsExist(noexist.c_str()));
    		CHECK_FALSE(Common::IsExist(empty.c_str()));
    	}
    
    }
    #endif

    我将子系统设置为控制台,所以我运行测试代码后结果如图

             对于我来说,doctest已经能够满足我单元测试的需求,更多的特性可以查看doctest官方文档。

    展开全文
  • doctest of purecma

    2020-12-26 13:50:48
    <div><p>When given as a stand alone...doctest.testmod(purecma) </code></pre> <p>fails, because the tests contain <code>import cma.purecma</code>. </p><p>该提问来源于开源项目:CMA-ES/pycma</p></div>
  • 主要介绍了Python测试模块doctest使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • doctest初次体验

    2019-10-06 14:43:28
    测试代码放在两个地方才有效果,一个是模块开头,一个是函数声明语句的下一行 doctest 的概念模型 在python的官方文档中,对doctest是这样介绍的: doctest模块会搜索那些看起来像是python交互式会话中的代码片段,...

    测试代码放在两个地方才有效果,一个是模块开头,一个是函数声明语句的下一行

    doctest 的概念模型


    在python的官方文档中,对doctest是这样介绍的:

    doctest模块会搜索那些看起来像是python交互式会话中的代码片段,然后尝试执行并验证结果。

    从名字上是否会让你联想到docstring呢?

    doctest的编写过程就像你在一个交互式shell中导入了一个被测试模块,然后一条一条执行被测试模块里面的函数一样。其实实际上doctest也是这么编写的,写好一个模块之后,在shell中测试这个模块里面的函数,将shell会话中的内容复制粘贴成doctest用例。

     

    测试代码验证:unnecessary_math.py

    
     
    '''
    
    这个例子展示如何在源码中嵌入doctest用例。
    
    '>>>' 开头的行就是doctest测试用例。
    
    不带 '>>>' 的行就是测试用例的输出。
    
    如果实际运行的结果与期望的结果不一致,就标记为测试失败。
    
    '''
    
    def multiply(a, b):
    
        """
    
        >>> multiply(4, 3)
    
        12
    
        >>> multiply('a', 3)
    
        'aaa'
    
        """
    
        return a * b
    
    if __name__=='__main__':
    
        import doctest
    
        doctest.testmod(verbose=True)

    然后在命令行中定位到文件所在目录,运行python -m doctest -v unnecessary_math.py即可。

    其中参数-v表示打印细节,去除后如果没有发现错误,则什么都不显示

    测试结果如下:

    image

    转载于:https://www.cnblogs.com/luhouxiang/p/7503451.html

    展开全文
  • python doctest测试

    2019-10-05 20:59:36
    title: Python doctest测试 tags: Python --- doctest测试 python 提供了REPL(read-eval-print loop,读取、求值、输出的循环) 官方地址:https://docs.python.org/3/library/doctest.html """ This is the ...
  • Python进行doctest

    2019-05-31 00:34:03
    欢迎大家前去参观,么么哒~ doctest简介 在doc注释部分使用形如Python交互式命令行的代码,可以进行doctest。 def add(a, b): """ >>> add(1, 2) 3 """ return a + b 运行doctest ...
  • 主要介绍了Python单元测试模块doctest的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要介绍了Python单元测试工具doctest和unittest使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • python doctest简介

    2019-11-13 09:36:39
    1.doctest实现对python函数的测试,用一段官方教程源码介绍: This is the "example" module. def factorial(n): # 阶乘函数 """Return the factorial of n, an exact integer >= 0. # 设定测试内容 >>...
  • markdown-doctest 测试降价文档中的所有代码! 为什么在地球上? 作为一个开源开发人员,没有什么比用户打开一个问题通知您README示例已损坏更令人尴尬的了! 使用markdown-doctest ,您可以轻松知道示例代码实际...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,329
精华内容 1,731
关键字:

doctest