Donc, j'essaie actuellement de tester une application Rails avec Mongoid avec du concombre. J'ai tout configuration (ou alors je crois) pour que le test suivant se déroulera:Concombre et SUPPRIMER avec Mongoid
Feature: Create and manage about entries
In order to use the about data effectively
As an application consumer
I want to create and manage some about entries
Scenario: Create about entries
Given the following abouts exist
| title | body_copy |
| "About entry #1" | "hello body!" |
When I go to the list of about entries
Then I should see "About entry #1"
Scenario: Create and retreive specific about entry
Given the following abouts exist
| id | title | body_copy |
| 4e4d37756ea257f031000003 | "About entry #1" | "hello body!" |
When I go to about entry with id 4e4d37756ea257f031000003
Then I should see "About entry #1"
Dans mon dossier chemins, je les entrées suivantes pour soutenir les tests ci-dessus:
when /^the list of about entries$/i
'/abouts'
when /^about entry with id (.+)$/i
"/abouts/#{$1}"
Ces essais fonctionne très bien. Cependant, j'ai besoin de tester l'action de suppression. J'ai fait quelques recherches en ligne mais tout semble passer par l'interface utilisateur pour supprimer ces éléments et le problème est que mon application Rails ne sert que des fichiers JSON et des fichiers JSON et j'ai besoin d'une meilleure façon de tester les choses L'interface utilisateur est impliquée. En ce qui concerne les moqueurs, j'utilise les mocks par défaut construits dans Pickle. Je suis ouvert à l'utilisation d'autres logiciels de moquerie si nécessaire, comme usine-fille, mais vous devrez me donner un retour détaillé comment je peux câbler ça. Ce que j'ai actuellement mon test de suppression (qui ne fonctionne pas) est:
Scenario: Delete about
Given the following abouts exist
| title | body_copy |
| title 1 | body_copy 1 |
| title 2 | body_copy 2 |
| title 3 | body_copy 3 |
| title 4 | body_copy 4 |
When I delete the 3rd about
Then I should see the following abouts:
| Title | body_copy |
| title 1 | body_copy 1 |
| title 2 | body_copy 2 |
| title 4 | body_copy 4 |
Le problème est que le test généré automatiquement (voir ci-dessus) utilise l'appel de méthode click_link "Destroy"
mais qui ne fonctionnera pas.
Pour envoyer une requête HTTP DELETE, vous devez avoir le serveur rails en cours d'exécution. Je ne suis pas très familier avec les tests Rails, alors dites-vous que c'est déjà le cas lorsque j'exécute mes tests et qu'une instance rails est également en cours d'exécution? Un exemple de définition d'étape serait extrêmement utile. Merci! –