排毒配置 - 类型“typeof jasmine”上不存在属性“getEnv”

Posted

技术标签:

【中文标题】排毒配置 - 类型“typeof jasmine”上不存在属性“getEnv”【英文标题】:Detox configuration - Property 'getEnv' does not exist on type 'typeof jasmine' 【发布时间】:2021-04-25 05:38:39 【问题描述】:

在我的 setup.ts 中使用此代码进行排毒导致错误:TS2339:“typeof jasmine”类型上不存在属性“getEnv”。我已经安装了 jest。

const detox = require('detox');
const adapter = require('detox/runners/jest/adapter');
const specReporter = require('detox/runners/jest/specReporter');

jest.setTimeout(25000); 
jasmine.getEnv().addReporter(adapter)

beforeAll(async () => 
  await detox.init();
  await device.launchApp();
);

beforeEach(async () => 
  await adapter.beforeEach();
);

afterAll(async () => 
  await adapter.afterAll();
  await detox.cleanup();
);

【问题讨论】:

没有一个解决方案对我有用,你解决了吗? 【参考方案1】:

当我从 npm 移动到 yarn 时,也许我也用 Detox 打破了我的灰盒测试。

yarn add -D typescript ts-jest
yarn add -D @types/detox @types/jest @types/jasmine

安装版本:

"@types/jasmine": "^3.6.9",
"jasmine": "^3.7.0",

我可以这样使用茉莉花:

import Jasmine from 'jasmine';
const jasmine = new Jasmine(adapter);
jasmine.addReporter(adapter);

【讨论】:

在那个小小的重构之后,我从终端收到了消息:``` 你的测试套件必须至少包含一个测试。在 onResult (../node_modules/@jest/core/build/TestScheduler.js:173:18) ``` 需要定义测试路径...【参考方案2】:

试试这个修复

// tslint:disable-next-line:no-import-side-effect
import "jasmine";

jasmine.getEnv().addReporter(adapter);

【讨论】:

以上是关于排毒配置 - 类型“typeof jasmine”上不存在属性“getEnv”的主要内容,如果未能解决你的问题,请参考以下文章

排毒测试中是不是可能出现循环

运行“排毒测试”时找不到模块@jest/reporters

由于在应用程序安装期间超时而无法运行排毒测试

排毒测试分配给未定义,所有e2e都被跳过

无法排毒找到 iPhone X 或 iPhone 11 之前的模拟器

如何为排毒 e2e 测试提供自定义测试文件路径