- 浏览: 761789 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 169fn main() { //if let ... -
rust mutex
2022-03-27 12:14 214use std::sync::{Arc,Mutex}; ... -
rust channel
2022-03-27 11:58 235use std::sync::mpsc; use std ... -
rust智能指针
2022-03-26 12:31 216Box,Rc,RefCell都是不可变借用,只不过RefCel ... -
lifeCycle
2022-03-24 14:10 158fn longest<'info>(x: &a ... -
hashmap
2022-03-24 11:11 167use std::collections::HashMap ... -
rust map
2020-08-18 16:02 499fn test_map(){ let a=[1, ... -
rust call
2020-08-13 10:27 340fn call<F>(clousure:F) ... -
rust闭包
2020-08-12 11:00 256返回闭包 fn returns_closure() -&g ... -
rust cell
2020-08-06 11:47 224fn test_cell(){ use std: ... -
rust引用记数
2020-08-06 11:10 318fn test_ref(){ use std:: ... -
rust内存泄漏
2020-08-03 10:20 454原因主要有三种: 1.线程崩溃,析构无法调用 2.使用引用记数 ... -
rust as类型转换
2020-07-24 10:34 580fn testAs(){ let a = 1u3 ... -
rust 线程 spawn
2020-07-24 10:03 296use std::thread; use std::ti ... -
rust println!
2020-07-20 11:09 340fn testPrintln(){ printl ... -
rust trait
2020-07-16 20:27 269使用trait可以让不用的类型实现同一个行为,定义函数的默认实 ... -
rust 范型
2020-07-15 20:00 269fn testOption(){ let i : ... -
rust 优先队列BinaryHeap
2020-07-15 09:22 849Rust提供的优先队列是基于二叉最大堆实现的 fn te ... -
rust set
2020-07-15 09:23 486HashSet<K>和BTreeSet<K& ... -
rust map
2020-07-15 09:23 318BTreeMap是有序的,HashMap是无序的 fn ...
相关推荐
本文档将详细介绍Google Test框架的使用方法,包括基本概念、断言、测试套件、测试用例、固定参数测试、测试 fixture、模拟(gmock)等内容。 一、基本概念 1. 测试点:测试点是测试用例中的最小可测试单元,通常...
Python接口测试APITest框架是一种基于Python编程语言,结合unittest测试框架和requests库的数据驱动方法,用于实现轻量级API自动化测试的解决方案。这个框架旨在简化API测试过程,提高测试效率,确保服务接口的稳定...
# 基于C++和Google Test框架的OshinoDB数据库系统 ## 项目简介 OshinoDB是一个基于关系模型(RMDB)开发的数据库系统,实现了增删改查、索引和故障恢复等基本功能。该项目是第一届数据库系统大赛的参赛作品,由“我...
- 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. **驱动程序...
Google Test框架主要包括两部分:gtest库和gmock库。gtest库提供了编写单元测试的基本结构和断言,而gmock库则专注于模拟(mocking)对象,允许在测试中隔离依赖关系,以便测试单一功能模块。 1. **gtest库**:这是...
CXX Test框架的核心特性包括: 1. **易用性**:CXX Test提供了一种简单的方式来编写测试用例和测试套件。它支持直接在C++源代码中定义测试,避免了其他测试框架可能需要的额外脚本语言。 2. **灵活性**:该框架...
达扎测试 DAZABTest 是一个带有同步 API 的简单拆分测试框架。 测试条件在会话中保持不变,并使用 NSUserDefaults 启动,确保每个用户都有一致的体验,无论他们最终进入哪个测试桶。安装最简单的入门方法是使用 。 ...
在给定的场景中,我们关注的是一个名为"activitystreams.js-test"的项目,它是一个针对"as2test框架"中"activitystreams.js"模块的测试驱动程序。这个项目主要目的是确保`activitystreams.js`的功能正确无误,提高...
使用SimpleTest进行单元测试时,开发者会创建一个继承自SimpleTest框架提供的基础测试类的测试类,并在其中定义测试方法。每个测试方法通常对应于被测代码的一个功能,通过调用SimpleTest的方法来运行并检查测试结果...
- **框架背景**:Google Test 是由 Google 开发并维护的一款强大的 C++ 单元测试框架,广泛应用于 C++ 开发项目中进行代码质量控制和功能验证。 - **主要特性**:提供了丰富的断言库、支持事件监听机制、参数化测试...
Bruce Eckel的SimpleTest框架包含了一些基本的测试类,如`Test`和`TestDriver`,它们帮助开发者组织和执行测试用例。`Test`类提供了断言(assert)方法,用于检查代码的输出是否符合预期,而`TestDriver`则用于收集...
在"googletest-release-1.12.1.tar.gz"这个压缩包中,包含的是Google Test框架的1.12.1版本。 Google Test的设计理念是使测试尽可能简单、灵活且可扩展。它提供了断言(assertions)来检查代码行为,测试套件(test...
py.test 框架接受普通的 Python 函数作为测试,而不要求把测试放在更大更重型的测试类中,这开启了 Python 测试的新时代。因为 nose 框架支持相同的习惯做法,所以这些模式很可能越来越流行。 测试示例 py.test 或...
`googletest-release-1.6.0.zip` 是一个包含 Google 官方测试框架的压缩包,这个框架被广泛用于 C++ 开发中的单元测试和集成测试。Google Test,通常简称为 gtest,是一个开源的 C++ 测试库,它提供了一套强大的测试...
`googletest-master工程文件(参考).zip`是一个包含Google Test框架的源代码和相关配置文件的压缩包。Google Test,通常简称为gtest,是Google开发的一个开源的C++测试框架,用于编写C++代码的单元测试。它提供了一...
了解 Boost 单元测试框架 Boost 单元测试框架是 Boost 库...这个测试 demo 演示了如何使用 Boost.test 框架对一个简单的字符串类进行单元测试,并展示了单元测试的重要性和使用 Boost.test 框架进行单元测试的方法。
【玩转Google开源C++单元测试框架Google Test系列(gtest)(总)】 Google Test,简称为gtest...无论你是单元测试的新手还是经验丰富的开发者,本系列都将帮助你更好地理解和应用Google Test框架,提升你的C++项目质量。
`gmock`是Google Test框架的一部分,它是Google Mock库的简称,用于创建和使用模拟对象(Mock Objects)。在单元测试中,模拟对象能代替真实的依赖对象,使得测试更加隔离和可控。`gmock`提供了一组宏和接口,可以...