Quelles étapes devriez-vous utiliser lorsque vous devez écrire des tests unitaires pour les associations STI? Je suis complètement confus. S'il vous plaît fournir des suggestions ou des liens vers des tutoriels. Merci d'avanceComment écrire des tests unitaires pour les associations STI? Ruby on Rails
0
A
Répondre
0
Il n'y a absolument rien de spécial dans les relations STI que devrait écrire des cas de test à propos de. Comme il s'agit d'une fonctionnalité fournie par framework, les frameworks sont livrés avec un tas de testcases.
Vous avez seulement besoin d'écrire des cas de test pour la fonctionnalité que vous construisez.
1
test tous les 3 classes comme vous le feriez normalement tester une classe individuelle:
class Person < ActiveRecord::Base
attr_reader :first_name, :last_name
def initialize
@first_name = "George"
@last_name = "Washington"
end
def formatted_name
"#{@first_name} #{@last_name}"
end
end
class Doctor < Person
def formatted_name
"Dr. #{@first_name} #{@last_name}"
end
end
class Guy < Person
def formatted_name
"Mr. #{@first_name} #{@last_name}"
end
end
describe Person do
describe "#formatted_name" do
person = Person.new
person.formatted_name.should == "George Washington"
end
end
describe Doctor do
describe "#formatted_name" do
doctor = Doctor.new
doctor.formatted_name.should == "Dr. George Washington"
end
end
describe Guy do
describe "#formatted_name" do
guy = Guy.new
guy.formatted_name.should == "Mr. George Washington"
end
end
s'il y a un code dans les classes d'enfants IST à savoir des méthodes qui est exécutée après l'initialisation de la classe. Je pense qu'il serait sage de tester ce code. – Rohit
Eh bien oui, comme je l'ai dit, si vous l'avez personnalisé, vous devrez exécuter les tests intégrés. En outre, les modules STI intégrés garantissent que l'instance correcte de la classe est chargée, en fonction de 'type', donc si vous modifiez cela, vous pouvez écrire le cas de test le long de ces lignes. Mon point étant, il n'y a rien générique au sujet de STI. Postez du code si vous en avez et nous pouvons le prendre à partir de là. – Swanand
l'une des classes enfant aide à télécharger des fichiers une autre classe enfant est utilisée pour stocker des réponses à choix multiples. Et il y a une colonne "valeur" dans le parent STI, où le nom du fichier téléchargé est stocké et aussi les choix sélectionnés par l'utilisateur sont enregistrés dans cette colonne avec chaque choix ayant son propre enregistrement. J'espère que vous avez une meilleure idée de la situation maintenant. – Rohit