2 个不稳定版本
使用旧的 Rust 2015
0.2.0 | 2019年6月24日 |
---|---|
0.1.0 | 2018年3月24日 |
#17 in #http-interface
16KB
345 行
interface-tests-helpers
Rust 中 HTTP 接口测试的程序
目录
开发
构建开发容器。
vagrant up
连接到开发容器。
vagrant ssh
生成文档
cargo rustdoc -- --document-private-items
使用方法
Cargo.toml
[dev-dependencies]
interface-tests-helpers = "*"
extern crate interface_tests_helpers;
use interface_tests_helpers::{
ClientHandler,
ResponseHandler,
HasBaseUrl,
};
use reqwest::{
Client,
Response,
};
use std::collections::HashMap;
impl HasBaseUrl for Client {
/// Returns the service base URL.
///
/// # Returns:
///
/// the service base URL.
fn get_base_url(&self) -> &str {
"https://127.0.0.1:1234"
}
}
trait ResourceHandler {
fn post_resource(&self, json: &HashMap<&str, &str>) -> Response;
}
impl ResourceHandler for Client {
/// Example of "per resource implementation" method.
///
/// # Arguments:
///
/// `json` - the json data to send
fn post_resource(
&self,
json: &HashMap<&str, &str>,
) -> Response {
return self.post_json(
"/resource",
json,
);
}
}
#[test]
fn test_post_resource() {
let mut json: HashMap<&str, &str> = HashMap::new();
json.insert("key", "value");
let client = Client::new();
let response = client.post_resource(&json);
response.assert_201();
}
测试
只能使用一个线程
cargo test -- --test-threads=1
依赖项
~19MB
~423K SLoC