我遇到了涉及多态对象数组的JSON反序列化问题.我已经尝试了这里和这里记录的序列化解决方案,这些解决方案非常适合序列化,但是在反序列化方面都很好.
我的班级结构如下:
IDable
[DataContract(IsReference=true)]
public abstract class IDable<T> {
[DataMember]
public T ID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
观察组
[DataContract(IsReference=true)]
[KnownType(typeof(DescriptiveObservation))]
[KnownType(typeof(NoteObservation))]
[KnownType(typeof(NumericObservation))]
[KnownType(typeof(ScoredObservation))]
public class ObservationGroup : IDable<int> {
[DataMember]
public string Title { get; set; }
[DataMember]
public List<Observation> Observations { get; set; }
[OnDeserializing]
void OnDeserializing(StreamingContext context)
{
init();
}
public ObservationGroup() {
init();
}
private void init()
{
Observations = new List<Observation>();
ObservationRecords = new List<ObservationRecord>();
}
}
Run Code Online (Sandbox Code Playgroud)
DescriptiveObservation
[DataContract(IsReference = true)] …
Run Code Online (Sandbox Code Playgroud) 我正在写一个javascript应用程序,在另一个我无法控制的页面中调用.我希望能够嵌入一个Angular JS应用程序,但是如何在不修改URL的情况下处理路由?在这种情况下,测试(即e2e)如何工作?
编辑:该应用程序是一个wordpress插件,它叠加在Wordpress仪表板上,因此无法修改URL和页面历史记录.该应用程序将绑定到嵌入在页面中的div,并使用CSS覆盖在现有内容上.
我正在尝试测试一个ruby控制器方法,我期待在数据库中改变多个东西.
context "With an unknown user" do
let(:unknown_phone_number) { "0000000000" }
subject {post :create, twiml_message(unknown_phone_number, "YES", "To" => twilio_phone_number) }
it { response.should change(Card, :count).by(1) }
it { should change(User, :count).by(1) }
it { should change(Customer, :count).by(1) }```
end
Run Code Online (Sandbox Code Playgroud)
给出错误
NoMethodError: undefined method `call' for #<ActionController::TestResponse:0x007fbd5d643030> ./spec/controllers/api/v1/sms_controller_spec.rb:25:in `block (4 levels) in <top (required)>'```
Run Code Online (Sandbox Code Playgroud)
我错过了什么,还是我咆哮着完全错误的树?
版本信息:Rails 1.9.3 Rspec 2.11.0
更新:基于答案
it "registers an unknown user" do
unknown_phone_number = "0000000000"
expect {
post :create, twiml_message(unknown_phone_number, "YES", "To" => twilio_phone_number)
}.to change(Card, :count).by(1) …
Run Code Online (Sandbox Code Playgroud) 我试图弄清楚如何为元素的 ID复制唯一名称绑定的功能(以获得漂亮的验证工作)
ko.bindingHandlers.uniqueID = {
'init': function (element, valueAccessor) {
if (valueAccessor()) {
element.ID = "ko_unique_" + (++ko.bindingHandlers['uniqueName'].currentIndex);
}
}
};
Run Code Online (Sandbox Code Playgroud)