通过 travis-ci 与 localhost 对 ReactJS 的 browserstack 测试的行为不一致

Inconsistent behaviour with browserstack testing of ReactJS via travis-ci vs localhost

我正在 运行使用 karma(karma-browserstack-launcher、browserify + reactify)对 browserstack 进行测试,使用 jasmine 作为测试套件和我的 reactjs 代码,我的行为不一致。

如果我 运行 karma start karma.conf 从我的笔记本电脑(使用 Chrome 39 on windows 8.1),每个测试 运行 都很好,但如果我的命令是 运行 在 travis-ci 上(通过 npm 测试),我得到了几个异常,从丢失的对象到 Error: Invariant Violation: findComponentRoot-react 的错误。 (这个错误的堆栈跟踪让我无法很好地解决这个问题)

如果我使用 Firefox 35 on MAX OS X 10.10Firefox 35 on Windows 8.1,我得到的结果基本相同,除了 Error: Invariant Violation: findComponentRoot-react 的错误。

如果我 运行 在本地使用 Firefox 35 on Windows 8.1 进行测试,整个测试会因所有测试文件中的错误 ReferenceError: require is not defined 而崩溃。

这里可能出了什么问题?有没有报告过这样的不一致?

我什至不知道在哪里报告这个错误,因为现场有几个玩家(karma、browserstack、travis、jasmine、react)。

事实证明这是我的一个错误。我忘记了当 Travis CI 初始化作业时,它总是安装最新的 npm 模块。我在本地重新安装了 npm 模块,两端的行为相同。希望这会帮助其他人解决同样的问题:)