我不熟悉单元测试和Rails。我决定在TDD环境中构建我的项目,但这给我留下了一些早期的问题。 我需要帮助构建模型以通过此测试:
describe User do
it "should add user to team" do
team = Team.create(:name => "Tigers")
akash = User.create(:name => "Akash")
akash.teams << team
akash.memberships.size.should == 1
end
it "should allow buddyup"
john = User.create(:name => "John")
john.buddyup_with(akash)
john.memberships.size.should == 1
end
it "should validate linked buddys"
akash.buddys.should include(john)
end
end
基本上,我现在想做的就是通过测试。以下是我到目前为止的情况:
class Team < ActiveRecord::Base
has_and_belongs_to_many :users
attr_accessubke :name
validates :name, :presence = true
:uniqueness => true
end
class User < ActiveRecord::Base
has_and_belongs_to_many: :teams
attr_accessible :name
validates :name, :presence = true
:uniqueness => true
end
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.string :name
t.timestamps
end
end
def self.down
drop_table :users
end
end
class CreateTeams < ActiveRecord::Migration
def self.up
create_table :teams do |t|
t.string :name
t.timestamps
end
end
def self.down
drop_table :teams
end
end
class CreateTeamsUsersJoinTable < ActiveRecord::Migration
def self.up
create_table :teams_users, :id => false do |t|
t.integer :team_id
t.integer :user_id
end
end
def self.down
drop_table :teams_users
end
end
到目前为止,这就是我所拥有的一切,显然它还远未完成。您能否提供一些见解,也许我应该使用代码来完成此操作?我现在最大的问题是buddyup_with部分。添加一个好友会将一个人添加到您所属的每个团队中,将团队视为开发公司的一部分,并将其视为未经研究的东西。
答案 0 :(得分:2)
我建议:
使用before do
# code #
end
设置条件。
每次进行1次测试。你有很多事情要做:)
使用Factory Girl。
尝试你所拥有的并从那里开始工作(敏捷方法,甚至是添加测试)。