有没有办法让IPython自动重新加载所有更改的代码?在每个行在shell中执行之前,或者在特别请求它时失败.我正在使用IPython和SciPy进行大量的探索性编程,每当我更改它时,必须手动重新加载每个模块是非常痛苦的.
我正在使用浏览器运行器在Mocha中运行一些异步测试,我正在尝试使用Chai的期望样式断言:
window.expect = chai.expect;
describe('my test', function() {
it('should do something', function (done) {
setTimeout(function () {
expect(true).to.equal(false);
}, 100);
}
}
Run Code Online (Sandbox Code Playgroud)
这不会给我正常的失败断言消息,而是我得到:
Error: the string "Uncaught AssertionError: expected true to equal false" was thrown, throw an Error :)
at Runner.fail (http://localhost:8000/tests/integration/mocha/vendor/mocha.js:3475:11)
at Runner.uncaught (http://localhost:8000/tests/integration/mocha/vendor/mocha.js:3748:8)
at uncaught (http://localhost:8000/tests/integration/mocha/vendor/mocha.js:3778:10)
Run Code Online (Sandbox Code Playgroud)
所以它显然正在捕捉错误,它只是没有正确显示它.任何想法如何做到这一点?我想我可以用一个错误对象调用"完成",但后来我失去了像柴这样的东西的所有优雅,它变得非常笨重......
React Native文档的测试部分表明Jest是进行单元测试的官方方式.但是,他们没有解释如何设置它.没有任何设置运行Jest会产生语法错误(没有行号:()因为它不应用React Native代码倾向于使用的转换(例如ES6功能,JSX和Flow)jestSupport.React Native源中有一个文件夹尝试包含一个env.js和scriptPrerocess.js,后者有代码用于应用转换.所以我已经将它们复制到我的项目中并将以下部分添加到我的package.json中:
"jest": {
"scriptPreprocessor": "jestSupport/scriptPreprocess.js",
"setupEnvScriptFile": "jestSupport/env.js"
},
Run Code Online (Sandbox Code Playgroud)
这修复了第一个错误,但我仍然收到以下错误:
Using Jest CLI v0.4.0
FAIL js/sync/__tests__/SynchronisedStorage-tests.js
SyntaxError: /Users/tom/my-project/js/sync/__tests__/SynchronisedStorage-tests.js: /Users/tom/my-project/js/sync/SynchronisedStorage.js: /Users/tom/my-project/node_modules/react-native/Libraries/react-native/react-native.js: /Users/tom/my-project/node_modules/react-native/node_modules/react-tools/src/browser/ui/React.js: /Users/tom/my-project/node_modules/react-native/node_modules/react-tools/src/utils/ReactChildren.js: /Users/tom/my-project/node_modules/react-native/node_modules/react-tools/src/addons/ReactFragment.js: /Users/tom/my-project/node_modules/react-native/node_modules/react-tools/src/classic/element/ReactElement.js: /Users/tom/my-project/node_modules/react-native/node_modules/react-tools/src/core/ReactContext.js: /Users/tom/my-project/node_modules/react-native/node_modules/react-tools/src/vendor/core/warning.js: Unexpected token .
1 test failed, 0 tests passed (1 total)
Run time: 0.456s
Run Code Online (Sandbox Code Playgroud)
还有更多我需要做的让Jest了解React Native吗?有没有Jest设置的例子来测试React Native?
编辑:
有一个检查scriptPreprocess阻止它运行任何文件node_modules,当然包括整个React Native.删除它修复了上面的错误.但是,我现在从React Native源获得更多错误,看起来它似乎并不意味着在Jest中运行.
EDIT2:
明确设置react-native模块的模拟工作:
jest.setMock('react-native', {});
Run Code Online (Sandbox Code Playgroud)
这似乎是非常手动的,对于测试与React Native API交互的代码非常有用.我当然还是觉得我错过了什么!
我在Angular.JS中使用路由器(正在使用内置的路由器,现在使用ui-route但解决方案都很好)来在控制/模板对之间切换.当在几个这样的页面之间来回切换时,每次设置DOM看起来很糟糕需要花费一秒钟.反正是有角度保持在DOM树周围而不是每次重新创建它.我想我只想隐藏/播下每个页面的位而不是每次都删除/重新创建它们.
欢迎任何建议!
我希望我的测试失败,如果它们花费的时间超过一定时间(比如说500ms),因为当测试速度稍慢时加载会很糟糕,而且每次运行测试套件时都会出现这么大的延迟.Nose有没有任何插件或任何东西可以做到这一点?
我已经通过github API创建了一个github存储库的fork.现在,稍后,我想将原始存储库中的任何更新提取到fork中.在我的用例中,这应该始终是一个快进.我已经读取了对原始存储库的访问权限并对fork进行了读写操作.
我想过可能会创建一个Pull Request然后接受(这两个都可以通过API完成),但是这会产生噪音(Pull Requests被创建和销毁)并且似乎不对.
有没有办法通过API做到这一点?
python ×2
unit-testing ×2
angularjs ×1
github-api ×1
ipython ×1
javascript ×1
jestjs ×1
mocha.js ×1
nose ×1
react-native ×1