Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why is mageekguy\atoum\test abstract ? #86

Closed
Blackhol3 opened this issue Jun 22, 2012 · 3 comments
Closed

Why is mageekguy\atoum\test abstract ? #86

Blackhol3 opened this issue Jun 22, 2012 · 3 comments

Comments

@Blackhol3
Copy link

Je voudrais pouvoir combiner Behat et les assertions d'Atoum.
Or, en héritant déjà de la classe BehatContext, je ne peux pas hériter de mageekguy\atoum\test, que je dois donc instancier et utiliser comme un attribut de ma classe. Ce n'est toutefois pas possible directement, puisque la classe est abstraite. Y a t-il une raison à cela ?

@ludofleury
Copy link
Contributor

Je ne comprends pas vraiment ce que tu souhaites faire "combiner" behat ?

Comme tu l'as mentionné, dans behat ton framework de test est libre, tu dois simplement composer avec celui de ton choix, i.e : instancier le framework de test dans le context behat comme tu le fais déjà ?

<?php

use Behat\Behat\Context\ClosuredContextInterface,
    Behat\Behat\Context\TranslatedContextInterface,
    Behat\Behat\Context\BehatContext,
    Behat\Behat\Exception\PendingException;
use Behat\Gherkin\Node\PyStringNode,
    Behat\Gherkin\Node\TableNode;
use mageekguy\atoum\asserter as Atoum;

require_once __DIR__ . '/../../vendor/mageekguy/atoum/classes/autoloader.php';

/**
 * Features context.
 */
class FeatureContext extends BehatContext
{
    private $assert;

    /**
     * Initializes context.
     * Every scenario gets it's own context object.
     *
     * @param   array   $parameters     context parameters (set them up through behat.yml)
     */
    public function __construct(array $parameters)
    {
        $this->assert = new Atoum\generator();
    }

PS; je viens de comprendre, tu essayes d'instancier la classe de test, à la place tu dois instancier la classe asserter/generator puisque tu n'utilises que les asserters d'atoum dans Behat.

@Blackhol3
Copy link
Author

Ah ben oui, avec asserter\generator seulement, ça marche beaucoup mieux ^^ .
Bien que je trouve encore étrange que la classe de test soit abstraite, merci mille fois ;-) .

@mageekguy
Copy link
Contributor

Les assertions de atoum ont été conçues pour être utilisable en dehors de atoum (justement pour pouvoir être utilisées avec Behat) et je vois que ludofleury l'a très bien compris.
La classe de test est abstraite car elle ne fait rien et ne permet rien par elle-même.
Elle ne fournie que les instruments permettant la rédaction des tests et elle doit donc être complétée via un héritage pour être fonctionnelle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants