开发一个回调驱动的API,我想表达一个特定的函数,用一组特定的参数和"任何"函数(回调)来调用.
Jasmine可以执行以下操作:
var serviceFunction = jasmine.createSpy();
var functionUnderTest = create(serviceFunction);
var thing = 'arbitrary/thing'
functionUnderTest(thing);
expect(serviceFunction).toHaveBeenCalledWith(thing, jasmine.any(Function));
Run Code Online (Sandbox Code Playgroud)
有sinon/buster.js类似的功能吗?到目前为止,我只测试第一个参数,但我真的想表达在测试中需要回调.
这是我到目前为止:
var serviceFunction = this.spy(); // or `sinon.spy()`
var functionUnderTest = create(serviceFunction);
var thing = 'arbitrary/thing'
functionUnderTest(thing);
assert.calledWith(serviceFunction, thing);
Run Code Online (Sandbox Code Playgroud) 在我的django项目中,我一直在使用django-taggit向模型添加标记功能。
迁移添加标签还将初始taggit迁移列为依赖项:
dependencies = [
('taggit', '0001_initial'),
# …
]
Run Code Online (Sandbox Code Playgroud)
稍后,我在所有地方都删除了taggit,其中包括INSTALLED_APPS
。
问题在于django无法解决属于taggit的迁移,并引发了错误。
在这种情况下首选的解决方案是什么?
我可以想到一个两步策略:
INSTALLED_APPS
,直到运行该项目的所有服务器是最新的INSTALLED_APPS