我们正在从Rails 3.2.12迁移到4.0.2,从Ruby 1.9.3迁移到2.1.8.
我们有很多测试覆盖率来完成RSpec形式的迁移.
检查卡模型上的唯一性验证失败的规范之一.
validates :mobile, uniqueness: {scope: :program_member_id, message: I18n.t('models.card.error.cardholder_already_has_mobile')}, if: :mobile
Run Code Online (Sandbox Code Playgroud)
哪一个program_member可能只有一张mobile: true卡.
该规范为该成员创建了2张牌,将一张牌变为移动牌,然后在使用第二张牌时预期验证的消息.
let(:program) { FactoryGirl.create(:program) }
let(:card) { FactoryGirl.create(:card, program: program) }
context 'when cardholder already has a mobile card' do
it 'fails validation' do
card2 = FactoryGirl.create(:card, program: program)
program_member_user = FactoryGirl.create(:program_member_user, card_number: card2.cardnumber)
program_member = program_member_user.program_members.first
program_member.cards << card2
card2.update_attributes(:mobile => true)
program_member.cards << card
card.update_attributes(:mobile => true)
expect(card.errors.messages).to include(:mobile=>[I18n.t('models.card.error.cardholder_already_has_mobile')])
end
end
Run Code Online (Sandbox Code Playgroud)
期望:
expected {} to include …Run Code Online (Sandbox Code Playgroud) 这是room.coffee的代码:
App.room = App.cable.subscriptions.create "RoomChannel",
connected: ->
disconnected: ->
received: (data) ->
$('#messages').append "<p>#{data}</p>"
speak: (message) ->
@perform 'speak' , message: message
Run Code Online (Sandbox Code Playgroud)
cable.coffee:
@App ||= {}
App.cable = ActionCable.createConsumer()
Run Code Online (Sandbox Code Playgroud)
rooms.coffee:
$ ->
$messages = $('messages')
$messages.scrollTop $messages.prop('scrollHieght')
$('#message_input').focus()
$(document).on 'keypress','message_input','e'->
if e.keycode == 13 and e.target.value
App.room.speak(e.target.value)
e.target.value = ''
e.preventDefault()
Run Code Online (Sandbox Code Playgroud)
roomchannel:
class RoomChannel < ApplicationCable::Channel
def subscribed
stream_from "room_channel"
end
def unsubscribed
# Any cleanup needed when channel is unsubscribed
end
def speak(data)
message.create content: data['message']
end
end
Run Code Online (Sandbox Code Playgroud)
Broadcostmessage: …
这是我的第一个问题.我试图在java中手动排序整数的链接列表,我无法弄清楚我的代码有什么问题.有什么建议?我没有得到任何错误,但我的输出仍然无序.我尝试了几种不同的方式,但没有任何效果.如果有人能帮助我,我感激不尽.
public class Node {
int data;
Node nextNode;
public Node(int data) {
this.data = data;
this.nextNode = null;
}
public int getData() {
return this.data;
}
} // Node class
public class DataLinkedList implements DataInterface {
private Node head;
private int size;
public DataLinkedList(){
this.head = null;
this.size = 0;
}
public void add(int data) {
Node node = new Node(data);
if (head == null) {
head = node;
} else {
Node currentNode = head;
while(currentNode.nextNode != null) …Run Code Online (Sandbox Code Playgroud) 我的时间相关规格不合格。
我知道时间是从纪元开始计算的,但如果对象表示足够接近,我希望这个规范能够通过。
例如:
expect( @model.end_date ).to eq end_date
expected: Wed, 08 Feb 2017 20:13:30 UTC +00:00
got: Wed, 08 Feb 2017 20:13:30 UTC +00:00
Run Code Online (Sandbox Code Playgroud)
有人对测试时间有什么建议,这样轻微的偏移就不会导致测试失败吗?