- 浏览: 786929 次
- 性别:
- 来自: 深圳
-
文章分类
- 全部博客 (1045)
- 数据结构 (36)
- UML与设计模式 (42)
- c++ (87)
- rust (36)
- Qt (41)
- boost模板元编程 (43)
- Linux (77)
- 汇编 (4)
- 其它 (2)
- 烹饪 (3)
- unix c / socket (73)
- 软件工程 (4)
- shell (53)
- Python (37)
- c++ primer 5th(c++11) (22)
- 数据库/MySQL (27)
- 数据存储 (4)
- lisp (7)
- git (4)
- Utility (3)
- CDN与DNS (54)
- Http (53)
- php (7)
- nginx/lua/openresty (41)
- redis (11)
- TCP/IP (16)
- 互联网 (6)
- kernel (2)
- go (34)
- 区块链 (43)
- 比特股 (13)
- 以太坊 (23)
- 比特币 (23)
- 密码学 (10)
- EOS (53)
- DAG (1)
- docker (1)
- filecoin (7)
- solidity (65)
- ipfs (8)
- 零知识证明 (1)
- openzeppelin (3)
- java (1)
- defi (7)
- Ton (0)
最新评论
#[derive(Debug)] struct Rectangle { width: u32, height: u32, } impl Rectangle { fn can_hold(&self, other: &Rectangle) -> bool { self.width > other.width && self.height > other.height } } pub struct Guess { value: i32, } impl Guess { pub fn new(value: i32) -> Guess { if value < 1 || value > 100 { panic!("Guess value must be between 1 and 100, got {}.", value); } Guess { value } } } fn internal_adder(a: i32, b: i32) -> i32 { a + b } //assert!,assert_eq!,assert_ne! #[cfg(test)] //注解告诉 Rust 仅在您运行时编译和运行测试代码cargo test,而不是在您运行时cargo build mod tests { //这里似乎同样并不强制这么写 #[test] //加上这个才能在cargo test中被执行 fn exploration() { let result = 2 + 2; assert_eq!(result, 4); } #[test] fn another() { panic!("Make this test fail"); } use super::*; #[test] fn larger_can_hold_smaller() { let larger = Rectangle { width: 8, height: 7, }; let smaller = Rectangle { width: 5, height: 1, }; assert!(larger.can_hold(&smaller)); } #[test] #[should_panic] //加上这个后失败也不会fail fn greater_than_100() { println!("test greater_than_100"); Guess::new(200); } #[test] fn it_works() -> Result<(), String> { if 2 + 2 == 4 { Ok(()) } else { Err(String::from("two plus two does not equal four")) } } #[test] #[ignore] //耗时的可以标记ignore,不批量运行; // cargo test -- --ignored 单独运行 // cargo test -- --include-ignored 运行所有包含ignore的 fn expensive_test() { // code that takes an hour to run } #[test] //测试可以直接调用私有函数 fn internal() { assert_eq!(4, internal_adder(2, 2)); } }
cargo test
cargo test -- --show-output //打印输出
cargo test greater //过滤运行
如果要测试tests文件夹某个文件,则:
cargo test --test integration_test
如果要调用某个函数又不想加入测试则在tests文件夹增加一个common目录
mod common; #[test] fn it_adds_two() { common::setup(); assert_eq!(4, 2+2); }
发表评论
-
模式匹配
2022-03-27 17:35 185fn main() { //if let ... -
rust mutex
2022-03-27 12:14 240use std::sync::{Arc,Mutex}; ... -
rust channel
2022-03-27 11:58 248use std::sync::mpsc; use std ... -
rust智能指针
2022-03-26 12:31 241Box,Rc,RefCell都是不可变借用,只不过RefCel ... -
lifeCycle
2022-03-24 14:10 172fn longest<'info>(x: &a ... -
hashmap
2022-03-24 11:11 191use std::collections::HashMap ... -
rust map
2020-08-18 16:02 528fn test_map(){ let a=[1, ... -
rust call
2020-08-13 10:27 368fn call<F>(clousure:F) ... -
rust闭包
2020-08-12 11:00 275返回闭包 fn returns_closure() -&g ... -
rust cell
2020-08-06 11:47 235fn test_cell(){ use std: ... -
rust引用记数
2020-08-06 11:10 344fn test_ref(){ use std:: ... -
rust内存泄漏
2020-08-03 10:20 473原因主要有三种: 1.线程崩溃,析构无法调用 2.使用引用记数 ... -
rust as类型转换
2020-07-24 10:34 615fn testAs(){ let a = 1u3 ... -
rust 线程 spawn
2020-07-24 10:03 321use std::thread; use std::ti ... -
rust println!
2020-07-20 11:09 366fn testPrintln(){ printl ... -
rust trait
2020-07-16 20:27 283使用trait可以让不用的类型实现同一个行为,定义函数的默认实 ... -
rust 范型
2020-07-15 20:00 282fn testOption(){ let i : ... -
rust 优先队列BinaryHeap
2020-07-15 09:22 899Rust提供的优先队列是基于二叉最大堆实现的 fn te ... -
rust set
2020-07-15 09:23 510HashSet<K>和BTreeSet<K& ... -
rust map
2020-07-15 09:23 328BTreeMap是有序的,HashMap是无序的 fn ...
相关推荐
本文档将详细介绍Google Test框架的使用方法,包括基本概念、断言、测试套件、测试用例、固定参数测试、测试 fixture、模拟(gmock)等内容。 一、基本概念 1. 测试点:测试点是测试用例中的最小可测试单元,通常...
Python接口测试APITest框架是一种基于Python编程语言,结合unittest测试框架和requests库的数据驱动方法,用于实现轻量级API自动化测试的解决方案。这个框架旨在简化API测试过程,提高测试效率,确保服务接口的稳定...
# 基于 Google Test 框架的 LeetCode 刷题项目 ## 项目简介 本项目是一个基于 Google Test 框架的 LeetCode 刷题项目,旨在通过单元测试来验证 LeetCode 题目的解决方案。项目涵盖了多种算法和数据结构题目,并通过...
# 基于C++和Google Test框架的OshinoDB数据库系统 ## 项目简介 OshinoDB是一个基于关系模型(RMDB)开发的数据库系统,实现了增删改查、索引和故障恢复等基本功能。该项目是第一届数据库系统大赛的参赛作品,由“我...
# 基于C++和Google Test框架的数独游戏生成与求解系统 ## 项目简介 本项目是一个基于C++和Google Test框架的数独游戏生成与求解系统。它提供了生成数独游戏终局、读取数独游戏并求解的功能,并包含了生成数独游戏...
- Google Test框架可以用于测试多线程代码,但需注意线程同步和竞态条件的正确处理。 11. **Mock对象**: - 使用`gmock`库(Google Mock),可以创建模拟对象来代替难以控制或不存在的真实对象,便于隔离测试。 ...
在主程序中,使用`main`函数初始化GoogleTest框架并运行所有测试: ```cpp int main(int argc, char** argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } ``` 最后,使用CMake重新...
1. **测试框架设计**:DeviceTest的源码首先展示了测试框架的基本结构,包括测试用例管理、测试执行调度、结果记录和报告生成等模块。理解这些模块的交互有助于我们构建自己的自动化测试解决方案。 2. **驱动程序...
该项目通过深入解析Googletest框架的源码,不仅加深了开发者对于单元测试原理的理解,而且在框架设计上做出了创新性的优化。 首先,C++源代码文件的数量众多,显示了项目在源码层面的深入挖掘和优化工作。C++是...
本项目是一个基于Google Test和libffi的动态函数调用测试框架,旨在通过Google Test框架和libffi库来测试和验证动态函数调用的正确性和性能。项目涵盖了从libffi库的编译到Google Test框架的集成,以及对动态函数...
Google Test框架主要包括两部分:gtest库和gmock库。gtest库提供了编写单元测试的基本结构和断言,而gmock库则专注于模拟(mocking)对象,允许在测试中隔离依赖关系,以便测试单一功能模块。 1. **gtest库**:这是...
CXX Test框架的核心特性包括: 1. **易用性**:CXX Test提供了一种简单的方式来编写测试用例和测试套件。它支持直接在C++源代码中定义测试,避免了其他测试框架可能需要的额外脚本语言。 2. **灵活性**:该框架...
thresh-test框架的出现,正是为了解决这一问题,它不仅仅是一套测试工具的集成,更是测试方法论与最佳实践的体现。 从文件结构来看,21个Java源文件涵盖了测试框架的核心逻辑,它们可能包括测试用例的编写、测试...
CloudTest框架是基于Java语言开发的,它将单元测试的简便性与测试工作的高效性进行了优化组合。作为一个轻量级框架,它不仅保持了灵活性和扩展性,还集成了多种功能,如测试用例管理、测试数据管理、断言管理、自动...
在实际应用中,JR_AUTO_TEST框架能够与多种开发工具和环境协同工作,进一步增强了其适用性。开发者可以根据项目需求,选择使用该框架进行常规的回归测试,或者针对特定的功能点进行专项测试。此外,由于是开源项目,...
达扎测试 DAZABTest 是一个带有同步 API 的简单拆分测试框架。 测试条件在会话中保持不变,并使用 NSUserDefaults 启动,确保每个用户都有一致的体验,无论他们最终进入哪个测试桶。安装最简单的入门方法是使用 。 ...
googletest-1.8.x作为一个版本号,代表了Google Test框架的一个稳定版本,它在软件测试领域占据着重要地位,为开发者提供了一个高效的C++单元测试解决方案。开发者可以依赖这个框架来创建结构化的测试,验证代码的...
这是一个Python脚本,用于从configure.ac文件中提取Google Test框架的版本信息,并生成一个包含版本信息的头文件Version.h。这个头文件将被用于替换Info.plist文件中的版本字符串,以便在Finder中显示正确的版本信息...
在"googletest-release-1.12.1.tar.gz"这个压缩包中,包含的是Google Test框架的1.12.1版本。 Google Test的设计理念是使测试尽可能简单、灵活且可扩展。它提供了断言(assertions)来检查代码行为,测试套件(test...
使用SimpleTest进行单元测试时,开发者会创建一个继承自SimpleTest框架提供的基础测试类的测试类,并在其中定义测试方法。每个测试方法通常对应于被测代码的一个功能,通过调用SimpleTest的方法来运行并检查测试结果...