【发布时间】:2021-10-26 14:59:21
【问题描述】:
我使用 Jest 运行测试。
我正在启动一个测试服务器,它使用测试表进行数据插入和读取。所以我想要实现的是首先检查beforeAll,如果运行环境是测试或不是我将在服务器上部署的时候,这样它就不会在生产数据库中运行测试,如果存在一些错误和服务器不是测试服务器。
因此,为此我有一个提供环境的端点,我想在beforeAll 中调用该端点,然后如果环境是测试继续并执行测试用例,否则我不想运行测试用例。
我怎样才能在 Jest 中实现这一点?
下面是我想要运行的代码,但 return 或 throw 或 process.exit 没有任何东西退出测试用例并且所有测试都运行。
beforeAll(async () => {
const GET_ENVIRONMENT_QUERY = gql`
query GetEnvironment {
getEnvironment
}
`;
const loggedInClient = createApolloClientInstance("LOGGEDIN");
const response = await loggedInClient.query({
query: GET_ENVIRONMENT_QUERY,
});
if (response.data.getEnvironment !== "TEST_") {
console.log("Here it should exit");
return;
}
});
【问题讨论】: