我想同时运行 Jest 测试,但我在一种情况下遇到问题:
我正在端点上测试结果,并且我想测试有关它的多项内容。因此,在 beforeAll 函数中,我发出请求并存储响应,然后在多个测试中测试响应。这可以很好地同步工作,但是当我使测试并发时,它不再允许您将变量传递到测试中,所以这是行不通的。或者,我可以将请求放在测试本身中,然后期望有关响应的许多信息,但是如果出现故障,我就没有粒度来查看出了什么问题。
对于这种情况有什么解决方案吗?
这有效:
let data;
beforeAll(async () => {
data = await getDataFromRequest();
});
it('value1 should be truthy', () => {
expect(data.value1).toBeTruthy();
});
it('value2 should be truthy', () => {
expect(data.value2).toBeTruthy();
});
Run Code Online (Sandbox Code Playgroud)
这也有效:
it.concurrent('data should have correct values', async () => {
const data = await getDataFromRequest();
expect(data.value1).toBeTruthy();
expect(data.value2).toBeTruthy();
});
Run Code Online (Sandbox Code Playgroud)
但我想要的是:
let data;
beforeAll(async () => {
data = await getDataFromRequest();
});
it.concurrent('value1 should be truthy', () => {
expect(data.value1).toBeTruthy();
});
it.concurrent('value2 should be truthy', …Run Code Online (Sandbox Code Playgroud) 我想要的东西:
type User struct {
ID int `sql:"default:<myfunction>"`
}
Run Code Online (Sandbox Code Playgroud)
GORM有可能吗?