javascript - 强制 typescript 不删除未使用的引用

标签 javascript unit-testing import reactjs typescript

请检查我的demo project在 github 上。

在我的react-tfractal/tests/component/tfractal.spec.tsx测试:

import * as React from 'react';
import * as ReactTestUtils from 'react-addons-test-utils';
import {expect} from 'chai';
import {Tfractal} from '../../src/tfractal';

var R = React;

describe('tfractal', function () {
  it('renders', function () {
    var tfractal = ReactTestUtils.renderIntoDocument(<Tfractal />);
    expect(tfractal).exist;
  });
}); 

React 导入从未使用过,但 react-addons-test-utils 需要(在没有 React 导入的情况下,我收到一条错误消息“React 未定义” )。问题是:没有该行

var R = React;

此导入被 typescript 编译器删除。

import 'react'

不会被删除,但不起作用(相同的错误消息“React 未定义”)。

如何在不创建虚拟变量的情况下解决这个问题?

运行

npm install
tsd install
npm run test 

检查。

最佳答案

说实话,我不明白为什么会发生这种情况,但请尝试添加这一行:

global.React = React

或者这可能有效:

React;

关于javascript - 强制 typescript 不删除未使用的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34316102/

相关文章:

javascript - jcarousel,我需要 :active state on external controls

javascript - trentrichardson datetimepicker 和 timepicker 不起作用

java - 我需要模拟函数,但它不起作用,如何在不修改src代码的情况下构建unittest?

python - 组织大量的 python 导入

c++ - 调用 API 函数时出现 ESP 错误?

java - 在 Eclipse Android 中导入 JAR (JAudioTagger)

javascript - 在包装集上绑定(bind) jQuery 单击事件

javascript - 未捕获的语法错误 : Unexpected token< VM3419:1

spring - 创建依赖于另一个测试用例的测试

javascript - 无法使对象相等