@Michel,
Oui j'aimerais utiliser le code métier. A priori cela me semble éviter
de la redondance. En y réfléchissant, ce que j'imagine est assez
proche d'une migration où on entre des données initiales. Les fixtures
seraient alors des migrations utilisées seulement par l'environnement
de test (via la commande
rake db:migrate RAILS_ENV=test par exemple). Le fonctionnement est
alors très proche du plugin que tu décris.
Mais comme tu dis avant de coder ce genre de chose je vais déjà
utiliser ce qui existe et notamment ta première proposition.

@Lionel
Dans test_helper j'ai bien self.use_transactional_fixtures = true
(paramètre par défaut, j'y ai jamais touché.). J'utilise MySQL.
Supporte-t-elle les transactions ? Auquel cas je suis bien dans le cas
que tu cites. Merci pour l'info.

@Tous
Et vous comment faites-vous pour générer et charger 100+ fixtures ?

H

On Aug 21, 9:48 pm, Lionel Bouton <[EMAIL PROTECTED]>
wrote:
> Harry Seldon a écrit, le 08/21/2008 09:30 PM :
>
> > Merci. Effectivement, je ne savais pas que je pouvais mettre du ruby
> > dans les fixtures.
> > Ceci dit, je préfèrerais un simple script ruby du style :
> > (1..100).each do |user_id|
> >   User.new(:id => user_id, :name => "user"+user_id)
> > end
> > Aujourd'hui je peux mettre ça dans du code de test mais cela ne parait
> > pas bien propre vu que cela devrait être relancé pour chaque test
> > alors que les fixtures ne sont chargées qu'une fois au lancement de la
> > batterie de tests (si je ne m'abuse).
>
> C'est un peu plus compliqué que ça. Si tu utilises
> self.use_transactional_fixtures = true
> avec une base de données qui supporte les transactions, pour chaque
> catégorie de test (techniquement chaque instance de la classe
> implémentant les tests d'un model ou d'un contrôleur par exemple) les
> fixtures ne sont effectivement chargées qu'une fois à la création de
> l'instance, une transaction est ensuite utilisée pour chaque test et un
> ROLLBACK effectué à la fin du test.
> Si ce n'est pas le cas, les fixtures sont chargées au début de chaque test.
>
> Lionel
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---

Répondre à