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

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

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

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);
}
# 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


From 日报小组 格朗

日报订阅地址:

独立日报订阅地址:

  • Telgram Channel

  • 阿里云语雀订阅

  • Steemit

  • GitHub

社区学习交流平台订阅:

  • Rust.cc 论坛: 支持 rss

  • Rust Force: 支持 rss

  • 微信公众号:Rust 语言学习交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值