Il s'agit d'un de ces cas où mon code fonctionne mais où mon test échoue et où j'ai besoin de savoir ce que je fais de mal ?
J'ai une classe Projet avec un all
qui ne fait que produire des instances de cette classe :
class Project
@@all_projects = []
def initialize(options)
@@all_projects << self
end
def self.all
@@all_projects
end
end
Maintenant Project.all
fonctionne très bien mais la spécification que j'écris ne fonctionne pas.
context "manipulating projects" do
before do
options1 = {
name: 'Building house'
}
options2 = {
name: 'Getting a loan from the Bank'
}
@project1 = Project.new(options1)
@project2 = Project.new(options2)
end
it "can print all projects" do
Project.all.should eq([@project1, @project2])
end
Le message d'échec que je reçois est le suivant :
Project manipulating projects can print all projects
Failure/Error: Project.all.should eq([@project1, @project2])
expected: [Building house, Getting a loan from the Bank]
got: [Building house, Building house, Building house, Getting a loan from the Bank, Building house, Getting a loan from the Bank]
Voici les spécifications complètes dans un résumé : https://gist.github.com/4535863
Qu'est-ce que je fais de mal ? Comment puis-je le réparer ?