2016-06-14 15 views
0

ich mit einem benutzerdefinierten Test Helfer generierte:Wie kundenspezifische Test Helfer in Ember.js verwendet

ember generate test-helper integration-for 

Hier wird sie mit ihrem Code entfernt:

// tests/helpers/integration-for.js 

import Ember from 'ember'; 

export default Ember.Test.registerHelper('integrationFor', function(app, key) { 
    return key; 
}); 

ich nicht bekommen kann es funktioniert aber tatsächlich in einem Komponententest. Ich habe versucht, ihn direkt:

// tests/integration/pods/components/itegration-item/component-test.js 
import { moduleForComponent, test } from 'ember-qunit'; 
import hbs from 'htmlbars-inline-precompile'; 

moduleForComponent('integration-item', 'Integration | Component | integration item', { 
    integration: true 
}); 

test('it renders the google analytics integration', function(assert) { 
    this.set('integration', integrationFor('key_here')); 
}); 

, die einen ReferenceError: integrationFor is not defined Fehler auslöst.

Und ich habe auch versucht, es zu importieren:

import integrationFor from '../../../helpers/integration-for'; 

, die scheint nicht korrekt zu sein, auf der Grundlage der documentation.

Die Dokumente haben keinen entsprechenden Abschnitt in den neuesten Versionen (> 2.4.x), also bin ich mir nicht sicher, ob dies der richtige Weg ist, um Testhelfer zu registrieren oder wenn ich das falsch mache.

Antwort

0

Sie müssen folgende Dinge tun, fügen Sie Helfer zu Tests/.jshintc hinzu. So etwas wie das.

{ 
"predef": [ 
    "document", 
    "window", 
    "location", 
    ... 
    "shouldHaveElementWithCount", 
    "dblclick", 
    "addContact", 
    "integrationFor" 
], 
... 
} 

Und Sie benötigen Helfer Datei in Tests/Helfer importieren/Start-app.js

import integrationFor from "./integration-for"; 
+1

versucht, dass basierend auf http://slides.com/jeffreybiles/deck-15#/6 ohne Glück. Jemand in Slack-Gruppe erwähnte, dass diese Arten von Helfern nur in Abnahmetests verfügbar sind. – typeoneerror