簡體   English   中英

如何使用qunit對ember-cli app中的路由進行單元測試?

[英]How to unit test Routes in ember-cli app using qunit?

我似乎無法獲得從單元測試觸發的模型鈎子和動作。

任何做這個ember-cli環境的樣本/博客都會有很大的幫助!

我發現這個鏈接什么樣的單元測試解決方案在Ember.js的路線?

但是route.model()拋出錯誤:未定義轉換。

import { test, moduleFor } from 'ember-qunit';

moduleFor('route:sample', 'SampleRoute', {
  // Specify the other units that are required for this test.
});

test("beforeModel hook works", function(){
    var route = this.subject();
    Ember.run(function(){
        route.set("model", "Sample data");
    })
    console.log("Model set. Was beforeModel hook called?");
});

樣本路線

import Ember from 'ember';

export default Ember.Route.extend({

    beforeModel: function (transition) {
        console.log("Inside before-model hook");
    },

    afterModel: function() {
        console.log("In after-model hook");
    }
});

不幸的是,事情並非如此。 beforeModel之前沒有簡單地稱為model設定,並afterModel之后。 它們只是在該序列中調用的鈎子( beforeModel -> model -> afterModel )作為路徑生命周期的一部分。

不幸的是,我還沒有找到一個單元測試路由的好方法。 如果你有需要測試的特定的beforeModel邏輯,那么你可以直接調用beforeModel嗎? 我發現Route邏輯最好通過驗收樣式測試進行測試,因為您可以按照應用程序實際運行時的方式調用Route。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM