greatest

C 单元测试工具
授权协议 ISC
开发语言 C/C++
所属分类 开发工具、 单元测试工具
软件类型 开源软件
地区 不详
投 递 者 陈兴朝
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

greatest 是一个 C 语言的单元测试系统,只需要一个文件支持。示例代码:

$ cat simple.c
#include "greatest.h"

TEST x_should_equal_1() {
    int x = 1;
    ASSERT_EQ(1, x);                              /* default message */
    ASSERT_EQm("yikes, x doesn't equal 1", 1, x); /* custom message */
    PASS();
}

SUITE(the_suite) {
    RUN_TEST(x_should_equal_1);
}

/* Add definitions that need to be in the test runner's main file. */
GREATEST_MAIN_DEFS();

int main(int argc, char **argv) {
    GREATEST_MAIN_BEGIN();      /* command-line arguments, initialization. */
    RUN_SUITE(the_suite);
    GREATEST_MAIN_END();        /* display results */
}
$ make simple && ./simple
cc -g -Wall -Werror -pedantic    simple.c   -o simple

* Suite the_suite:
.
1 tests - 1 pass, 0 fail, 0 skipped (5 ticks, 0.000 sec)

Total: 1 tests (47 ticks, 0.000 sec)
Pass: 1, fail: 0, skip: 0.

主要特点

  • 小巧,轻便

    除了ANSI C89以外,最大的功能不依赖任何内容,并且使用编译时,测试脚手架应该在没有警告的情况下构建 -Wall -Wextra -pedantic。它低于1,000 LOC(SLOCCount),并且没有动态分配。

  • 许可许可

    最大的是根据ISC许可证发布的。您可以自由使用它,甚至可以用于商业目的。

  • 易于设置

    要使用,仅#include "greatest.h"在您的项目中。样板非常少。大多数功能是可选的。

  • 不自以为是

    当命令行测试运行器有用时,Greatest可以提供一个,但是它也可以作为其他程序的一部分运行。它不依赖于特定的构建系统或其他工具,而应适应各种测试方法。它积极避免在测试代码上施加体系结构选择。尽管在设计C时考虑到C语言是最伟大的,但是它试图从C ++中使用。

  • 模块化的

    测试可以单独运行,也可以分组进行。套件可以共享通用设置,并且可以位于不同的编译单元中。

  • 低摩擦

    可以按名称运行特定的测试或套件,以在开发过程中进行集中且快速的迭代。最大的好处是几乎没有启动延迟。

有一些编译时选项,如果使用C99或更高版本的语言标准进行编译,则用于参数测试(使用参数运行测试)的语法会稍微好一些。

 一篇博客文章, 提供了更多信息。虽然已有数年的历史,但主要功能仍是准确的。

盗窃案(一个相关项目)增加了基于属性的测试

  • 一:ORACLE函数之GREATEST GREATEST(expr_1, expr_2, …expr_n)函数从表达式(列、常量、计算值)expr_1, expr_2, … expr_n等中找出最大的数返回。在比较时,OracIe会自动按表达式的数据类型进行比较,以expr_1的数据类型为准。 1:expr_1为数值型。按大小进行比较,查出16 SELECT GREATEST(2, 5, 12,

  • 1           语法 GREATEST(expr_1, expr_2, ...expr_n) 2           说明 GREATEST(expr_1, expr_2, ...expr_n)函数从表达式(列、常量、计算值)expr_1, expr_2, ... expr_n等中找出最大的数返回。在比较时,OracIe会自动按表达式的数据类型进行比较,以expr_1的数据类型为准。  

  • 碰巧看到一篇文章提到了Oracle的greatest函数,相对应的有个least,以为这俩是个新的函数,但是看了下官方文档,其实在11g的《SQL Language Reference》,就提到了他们,是我孤陋寡闻了。 从函数的名称上,能猜到这两个函数分别求的是最大值和最小值。 greatest函数介绍, GREATEST returns the greatest of a list of one

  • mysql 东财测验题库 1 / 53 ———...执行语句“GREATEST(10,9,128,1)”结果为( )。 A: 10 B:...【5】 执行语句“LEAST(10,9,128,1)”结果为( ...... MDBS 答案 DBMS 有疑问去论坛 【9】 MySQL 属于(...执行语句“GREATEST(10,9,128,1)”结果为( )。 ...【5】 执行语句“LEAST(10

  • ORACLE函数之GREATEST函数详解实例 1语法 GREATEST(expr_1, expr_2, ...expr_n) 2说明 GREATEST(expr_1, expr_2, ...expr_n)函数从表达式(列、常量、计算值)expr_1, expr_2, ... expr_n等中找出最大的数返回。在比较时,OracIe会自动按表达式的数据类型进行比较,以expr_1的数据类型为准。

  • 1、语法 GREATEST(expr_1, expr_2, ...expr_n)函数从表达式(列、常量、计算值)expr_1, expr_2, ... expr_n等中找出最大的数返回。在比较时,OracIe会自动按表达式的数据类型进行比较,以expr_1的数据类型为准。 2、使用位置 过程性语句和SQL语句 3、示例 示例一: 数值——expr_1为数值型。按大小进行比较。 全部为数值,取出最大

  • 1语法 GREATEST(expr_1, expr_2, ...expr_n) 2说明 GREATEST(expr_1, expr_2, ...expr_n)函数从表达式(列、常量、计算值)expr_1, expr_2, ... expr_n等中找出最大的数返回。在比较时,OracIe会自动按表达式的数据类型进行比较,以expr_1的数据类型为准。   3允许使用的位置 过程性语句和SQL语句。

  • 1、语法 greatest(case_1, case_2, ...case_n)函数从表达式(列、常量、计算值)case_1, case_2, ... case_n等中找出最大的数返回。在比较时以case_1的数据类型为准。 2、使用位置 过程性语句和SQL语句 3、示例 示例一: 数值——case_1为数值型。按大小进行比较。 全部为数值,取出最大值16: SQL> SELECT GREATES

  • Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有内置函数实现这个功能:COALESCE/GREATEST/LEAST. 1.COALESCE返回该表达式列表的第一个非空value。 格式:COALESCE(value1, value2, value3, ...) 含义: 返回valu

  • 软件介绍 greatest 是一个 C 语言的单元测试系统,只需要一个文件支持。示例代码: $ cat simple.c #include "greatest.h" TEST x_should_equal_1() { int x = 1; ASSERT_EQ(1, x);                              /* default message */ ASSERT_EQm("

  • 1. 用户权限操作 1.1 创建用户 只允许从本机访问 CREATE USER 'demo'@'localhost' IDENTIFIED BY '12345' 允许从任意主机访问(也可指定IP) CREATE USER 'demo'@'%' IDENTIFIED BY '12345' 创建完成后,刷新授权信息:flush privileges; 修改密码 ALTER USER 'demo'@

  • 让我们首先创建一个表-mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Number int ); 使用插入命令在表中插入一些记录-mysql> insert into DemoTable(Number) values(10); mysql> insert into DemoTable(Numbe

  • 背景介绍 在工作开发中遇到取两列值中最大的值,当时首先想到的是max函数,因为在java中经常有类似的比较两个数值大小的情况,后来意识到max是取一列中的最大值,查询其他资料得知需要用到greatest函数,特意把greatest函数和least函数的简单用法总结如下: greatest函数 基本用法: greatest(col_a, col_b, …, col_n)比较n个column的大小返回

 相关资料
  • Android Studio 1.1 添加了单元测试支持,详细请看 Unit testing support。本章的其余部分描述的是 “instrumentation tests”。利用 Instrumentation 测试框架可以构建独立的测试 APK 并运行在真实设备(或模拟器)中进行测试。

  • 英文原文:http://emberjs.com/guides/testing/unit/ 单元测试用于测试代码的一个小片段,确保其功能正常。与集成测试不同,单元测试被限定在一个范围内,并且不需要Ember应用运行。 全局 vs 模块 过去如果没有作为一个全局变量加载整个Ember应用,要对应用进行测试非常困难。通过使用模块(CommonJS,AMD等)来编写应用,可以只加载被测试的部分,而不用将其

  • 单元测试涉及测试软件应用程序的每个单元或单个组件。这是第一级软件测试。单元测试的目的是验证单元组件的性能。 单元是软件系统的单个可测试部分,并在应用程序软件的开发阶段进行测试。 此测试旨在测试隔离代码的正确性。单元组件是应用程序的单独功能或代码。白盒测试方法用于单元测试,通常由开发人员完成。 在测试级别层次结构中,单元测试是在集成和其他剩余测试级别之前完成的第一级测试。它使用模块进行测试,减少了等

  • 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如 C 语言中单元指一个函数,Java 里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进

  • 我们从 Hello World 项目入手,增加单元测试功能。 我们新家了一个名为hello-world-test的 Gradle 项目。 环境 Gradle 3.4.1 Spring Boot 1.5.2.RELEASE Thymeleaf 3.0.3.RELEASE Thymeleaf Layout Dialect 2.2.0 Spring Security Test 4.2.2.RELEASE

  • 单元测试验证单个代码单元是否按预期工作。 也就是说,给定不同的输入参数, 测试验证类方法返回预期结果。 单元测试通常由编写待测试类的人开发。 Yii的单元测试框架 Codeception 基于 PHPUnit,Codeception 建议遵从 PHPUnit 的文档的进行开发: Codeception for Yii framework Codeception Unit Tests PHPUnit

  • 单元测试 ClojureScript 的测试和 Clojure 语法类似, 通过 cljs.test 来提供. 首先需要引用下面这些函数或者 Macros: (ns my-project.tests (:require [cljs.test :refer-macros [deftest is testing run-tests]])) 然后可以定义一个测试: (deftest test-num

  • Mpx 会生成源码与最终产物包的映射关系,结合微信小程序提供的 miniprogram-simulate 来进行单元测试的工作。 因为目前仅微信提供了仿真工具,暂时只支持微信小程序平台的单元测试。如果需要 E2E 测试,则和框架无关了,可参考微信的小程序自动化。 简单的断言 组件必须是被项目真实使用的,且经过一次构建才可被测试。构建时 MpxPlugin 的配置信息中要将 generateBuil