org.eframework.uni.util
Version:
EFramework Utility for Unite 是一个轻量级、跨平台的工具集,提供了统一的 API 接口,确保在多平台环境下保持一致的运行结果。
105 lines (75 loc) • 2.65 kB
Markdown
# XTest
[](https://www.npmjs.com/package/org.eframework.uni.util)
[](https://www.npmjs.com/package/org.eframework.uni.util)
XTest 提供了轻量级测试框架,支持 Jest 集成和独立运行两种模式。
## 功能特性
- 提供断言功能:丰富的值比较和类型检查断言
- 提供详细日志:自动记录环境信息和执行时间
## 使用手册
### 1. 基本测试
1. 创建测试用例
```typescript
// 定义一个简单的测试用例
XTest.Test("加法测试", async () => {
const result = 1 + 2;
XTest.Expect(result).ToBe(3);
});
```
2. 运行测试
```typescript
// 在Jest环境中自动运行
// 在独立环境中需要手动执行返回的函数
// 创建并立即执行测试
(XTest.Test("独立环境测试", async () => {
// 测试代码
}))();
```
### 2. 断言功能
1. 值比较断言
```typescript
// 等值比较
XTest.Expect(2 + 2).ToBe(4);
// 大小比较
XTest.Expect(5).ToBeGreaterThan(3);
XTest.Expect(5).ToBeGreaterThanOrEqual(5);
XTest.Expect(3).ToBeLessThan(5);
XTest.Expect(3).ToBeLessThanOrEqual(3);
```
2. 类型检查断言
```typescript
// null检查
XTest.Expect(null).ToBeNull();
XTest.Expect(undefined).Not.ToBeNull();
// undefined检查
XTest.Expect(undefined).ToBeUndefined();
XTest.Expect("hello").Not.ToBeUndefined();
// NaN检查
XTest.Expect(NaN).ToBeNaN();
XTest.Expect(123).Not.ToBeNaN();
```
### 3. 断言标签
1. 使用标签提高可读性
```typescript
// 添加描述性标签
const score = 85;
XTest.Expect(score, "考试分数").ToBeGreaterThan(60);
// 添加额外参数提供上下文
const user = { name: "张三", age: 25 };
XTest.Expect(user.age, "用户年龄", user).ToBeGreaterThan(18);
```
2. 否定断言
```typescript
// 使用Not属性进行否定断言
XTest.Expect("hello").Not.ToBe("world");
XTest.Expect(null).Not.ToBeUndefined();
```
## 常见问题
### 1. XTest 与 Jest 有什么区别?
1. XTest 提供了比 Jest 更轻量的 API,同时兼容 Jest 环境。
2. 在 Jest 环境中,XTest 会自动集成到 Jest 的测试流程。
3. 在独立环境中,XTest 可以独立运行,不依赖 Jest。
更多问题,请查阅[问题反馈](../CONTRIBUTING.md#问题反馈)。
## 项目信息
- [更新记录](../CHANGELOG.md)
- [贡献指南](../CONTRIBUTING.md)
- [许可证](../LICENSE)