前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2019-09-04 - retest一个基于 fixture 的rust测试框架

【Rust日报】2019-09-04 - retest一个基于 fixture 的rust测试框架

作者头像
MikeLoveRust
发布2019-09-05 16:52:27
7570
发布2019-09-05 16:52:27
举报

CPP工程师的Rust迁移之路

#rust #cpp

  • 5.继承与组合 - 下
  • 4.继承与组合 - 中
  • 3.继承与组合 - 上
  • 2.类与结构体
  • 1.起步

Read More

regex 1.3的改动

#rust #crate

regex1.3允许禁用Unicode等影响性能的特性,这可以减少超过1MB的二进制文件大小,将编译时间缩短一半,并将依赖关系树减少到一个包。

我们可以从一个issue#613中了解这些改动的原因:

这些变化的另一个动机是允许正则表达式的用户缩小其依赖树,如果他们希望交换运行时性能。虽然这可能听起来不像是一个很好的交换,但是存在许多实际上不需要高性能正则表达匹配的情况。例如,如果使用正则表达式来过滤一小组微小的ASCII字符串,那么禁用所有正则表达式的crate功能是完全合理的。最终结果是它将大大缩小二进制大小,缩短编译时间并将正则表达式的依赖树缩小到单个包(正则表达式语法)。

发起这个PR的是BurntSushi大神。

Repo

retest 一个基于 fixture 的rust测试框架

#test #rust

我们可以通过两组测试代码看一下这个框架是如何工作的

代码语言:javascript
复制
use rstest::rstest;

pub fn fixture() -> u32 { 42 }

#[rstest]
fn should_success(fixture: u32) {
    assert_eq!(fixture, 42);
}

#[rstest]
fn should_fail(fixture: u32) {
    assert_ne!(fixture, 42);
}
代码语言:javascript
复制
# use rstest::rstest_parametrize;
#[rstest_parametrize(input, expected,
    case(0, 0),
    case(1, 1),
    case(2, 1),
    case(3, 2),
    case(4, 3)
)]
fn fibonacci_test(input: u32, expected: u32) {
    assert_eq!(expected, fibonacci(input))
}

running 5 tests
test fibonacci_test::case_1 ... ok
test fibonacci_test::case_2 ... ok
test fibonacci_test::case_3 ... ok
test fibonacci_test::case_4 ... ok
test fibonacci_test::case_5 ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

Read More

将现有的WebAssembly应用程序转换为分布式程序

#rust #wasm

看过 rustwasm 文档的小伙伴应该都看到过 conway's game of life(康威生命游戏)的实现过程,有很多文章介绍了如何将 WebAssembly 应用运行在分布式虚拟机/智能合约平台Wavelet上运行,本文介绍如何改造一个现有的 WebAssembly 应用运行在智能合约平台Wavelet上。康威生命游戏小编也做过,周末按照这个教程改造试试。

Read More


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CPP工程师的Rust迁移之路
  • regex 1.3的改动
  • retest 一个基于 fixture 的rust测试框架
  • 将现有的WebAssembly应用程序转换为分布式程序
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档