我想测试在我的Javascript对象构造函数中是否调用以下方法.从我在Jasmine文档中看到的,我可以窥探一个构造函数方法,并且我可以在实例化对象之后监视方法,但是在构造对象之前我似乎无法监视方法.
物体:
Klass = function() {
this.called_method();
};
Klass.prototype.called_method = function() {
//method to be called in the constructor.
}
Run Code Online (Sandbox Code Playgroud)
我想在规范中做这样的事情:
it('should spy on a method call within the constructor', function() {
spyOn(window, 'Klass');
var obj = new Klass();
expect(window.Klass.called_method).toHaveBeenCalled();
});
Run Code Online (Sandbox Code Playgroud) 此代码是Core Data的一部分.URLForDirectory ....方法不能在iOS <4上运行,所以我需要知道一些其他要调用的方法/对象.我还会提供文档以供将来参考.谢谢
/**
Returns the URL to the application's Documents directory.
*/
- (NSURL *)applicationDocumentsDirectory
{
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}
Run Code Online (Sandbox Code Playgroud) 我可以在开发中使用Require.js而不使用该data-main
属性加载到我的初始脚本中吗?即.<script data-main="scripts/main" src="scripts/require.js"></script>
我发现在我的开发环境中使用这个属性很困难.
我正在尝试测试我所拥有的基于一系列其他范围的范围.(下面的"public_stream").
scope :public, where("entries.privacy = 'public'")
scope :completed, where("entries.observation <> '' AND entries.application <> ''")
scope :without_user, lambda { |user| where("entries.user_id <> ?", user.id) }
scope :public_stream, lambda { |user| public.completed.without_user(user).limit(15) }
Run Code Online (Sandbox Code Playgroud)
使用这样的测试:
it "should use the public, without_user, completed, and limit scopes" do
@chain = mock(ActiveRecord::Relation)
Entry.should_receive(:public).and_return(@chain)
@chain.should_receive(:without_user).with(@user).and_return(@chain)
@chain.should_receive(:completed).and_return(@chain)
@chain.should_receive(:limit).with(15).and_return(Factory(:entry))
Entry.public_stream(@user)
end
Run Code Online (Sandbox Code Playgroud)
但是,我继续收到此错误:
Failure/Error: Entry.public_stream(@user)
undefined method `includes_values' for #<Entry:0xd7b7c0>
Run Code Online (Sandbox Code Playgroud)
似乎includes_values是ActiveRecord :: Relation对象的实例变量,但是当我尝试存根时,我仍然收到相同的错误.我想知道是否有人有经验固定Rails 3的新链式查询?我可以找到关于2.x的查找哈希的一堆讨论,但没有关于如何测试当前的内容.
在Rails 3中是否有rake命令来克隆我的开发数据库数据?我注意到rake db:test:prepare
并且rake db:test:clone
在各种博客中都提到过,但运行它们似乎什么都不做.此外,rake -T
没有显示任何db:test
案例.我现在暂时使用sql转储,但如果我可以克隆现有的开发数据以进行最新的测试,那将会很棒.
编辑 -
我希望在数据库上进行测试,因为我正在处理访问时通过模型过滤器运行的遗留数据.在这种情况下,工厂不适合我,因为传递的数据create
被定义为与传统数据不同的模式.
我希望在我的Backbone.js路由器中分别触发路由之前和之后调用setup/teardown方法.有人创造了一种优雅的方式吗?
我试图通过包含ActiveView :: Helpers在我的模型序列化器输出中包含一个图像资源管道URL:
class PostSerializer < ActiveModel::Serializer
include ActiveView::Helpers
attributes :post_image
def post_image
image_path "posts/#{object.id}"
end
end
Run Code Online (Sandbox Code Playgroud)
结果是/images/posts/{id}
而不是资产管道路径的有效路径,即./assets/images/posts/{id}
.如何在序列化程序输出中包含有效的资产管道路径?
ruby-on-rails asset-pipeline active-model-serializers ruby-on-rails-4
我正在尝试匹配一个看起来像这样的字符串:
<$Fexample text in here>>
Run Code Online (Sandbox Code Playgroud)
用这个表达式:
<\$F(.+?)>{2}
Run Code Online (Sandbox Code Playgroud)
但是,在某些情况下,我的反向引用内容包含">",因此类似这样:
<$Fexample text in here <em>>>
Run Code Online (Sandbox Code Playgroud)
仅example text in here <em
在后向引用中匹配.在有或没有这些html实体的情况下,我有条件地返回正确的backrefernce需要做什么?
这是我一直很好奇的东西,但从未想过要问.是否有效引用说由php动态创建的图像以正确的模因类型响应,但仍然具有.php扩展名?例如,<img src="/lib/background.php?color=333333" alt="" />
这种方法有什么负面的吗?我并不总是使用mod重写来隐藏图像是动态的.
我正在Backbone.js中构建一个类似于画廊的选择器视图.选取器具有绑定到集合中的模型的许多缩略图视图以及当前所选缩略图的大预览视图.单击缩略图将触发Backbone.Event以更改预览视图的模型.但是,预览视图会观察模型上的几个Backbone事件,以根据模型的属性更改状态.
我在上一个模型上取消注册Backbone事件并在新模型上重新注册相同的事件时遇到了麻烦.我并不总是引用原始.on()
注册,我很想简单地调用this.model.off()
取消注册所有模型的事件(我不想销毁模型可能具有的任何其他事件).Backbone.js文档概述了调用.off(null, null, context)
将从当前上下文中的对象取消注册事件.但是,如果这将取消注册当前视图实例的所有事件,我不确定.