|簡體中文

比思論壇

 找回密碼
 按這成為會員
搜索



查看: 541|回復: 4
打印 上一主題 下一主題

如何在 AngularJS 中对控制器进行单元测试

[複製鏈接]

25

主題

0

好友

292

積分

小學生

Rank: 2

  • TA的每日心情
    開心
    2023-8-10 12:40
  • 簽到天數: 131 天

    [LV.7]常住居民III

    推廣值
    0
    貢獻值
    0
    金錢
    623
    威望
    292
    主題
    25
    樓主
    發表於 2013-12-19 00:37:56

    开发者们都一致认为单元测试在开发项目中十分有好处。它们帮助你保证代码的质量,从而确保更稳定的研发,即使需要重构时也更有信心。

    测试驱动开发流程图

    AngularJS的代码声称其较高的可测性确实是合理的。单单文档中列出端对端的测试实例就能说明。就像AngularJS这样的项目虽然都说单元测试很简单但真正做好却不容易。即使官方文档中以提供了详尽的实例,但在我的实际应用中却还是很有挑战。这里我就简单示范一下我是怎么操作的吧.

    Instant Karma

    Karma 是来Angular团队针对JavaScript开发的一个测试运行框架。它很方便的实现了自动执行测试任务从而替代了繁琐的手工操作(好比回归测试集或是加载目标测试的依赖关系)Karma 和Angular的协作就好比花生酱和果冻.

    只需要在Karma中定义好配置文件启动它,接下来它就会在预期的测试环境下的自动执行测试用例。你可以在配置文件中制定相关的测试环境。angular-seed,是我强烈推荐的可以快速实施的方案。在我近期的项目中Karma 的配置如下:

    module.exports = function(config) {
        config.set({
            basePath: '../',

            files: [
                'app/lib/angular/angular.js',
                'app/lib/angular/angular-*.js',
                'app/js/**/*.js',
                'test/lib/recaptcha/recaptcha_ajax.js',
                'test/lib/angular/angular-mocks.js',
                'test/unit/**/*.js'
            ],

            exclude: [
                'app/lib/angular/angular-loader.js',
                'app/lib/angular/*.min.js',
                'app/lib/angular/angular-scenario.js'
            ],

            autoWatch: true,

            frameworks: ['jasmine'],

            browsers: ['PhantomJS'],

            plugins: [
                'karma-junit-reporter',
                'karma-chrome-launcher',
                'karma-firefox-launcher',
                'karma-jasmine',
                'karma-phantomjs-launcher'
            ],

            junitReporter: {
                outputFile: 'test_out/unit.xml',
                suite: 'unit'
            }

        })
    }


    9

    主題

    0

    好友

    894

    積分

    高中生

    Rank: 4

  • TA的每日心情
    開心
    2021-11-4 09:01
  • 簽到天數: 118 天

    [LV.6]常住居民II

    推廣值
    0
    貢獻值
    0
    金錢
    2209
    威望
    894
    主題
    9
    沙發
    發表於 2014-3-13 13:56:53
    学习学习

    6

    主題

    5

    好友

    680

    積分

    高中生

    Rank: 4

  • TA的每日心情
    奮斗
    2021-4-10 14:12
  • 簽到天數: 79 天

    [LV.6]常住居民II

    推廣值
    0
    貢獻值
    0
    金錢
    28
    威望
    680
    主題
    6
    板凳
    發表於 2014-3-18 13:57:04
    学习 学习

    3

    主題

    14

    好友

    512

    積分

    中學生

    Rank: 3Rank: 3

  • TA的每日心情

    2024-2-23 15:38
  • 簽到天數: 1669 天

    [LV.Master]伴壇終老

    推廣值
    0
    貢獻值
    0
    金錢
    1668
    威望
    512
    主題
    3

    回文勇士 文明人 中學生

    地板
    發表於 2014-4-29 19:50:48
    請善用帖子右下角舉報鍵,來檢舉有害網站/垃圾/宣傳帖,每個舉報會有金錢增加。
    看不懂!!!!!!!!!
    重要聲明:本論壇是以即時上載留言的方式運作,比思論壇對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們比思論壇有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ),同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。

    手機版| 廣告聯繫

    GMT+8, 2024-6-1 13:48 , Processed in 0.016166 second(s), 16 queries , Gzip On, Memcache On.

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回頂部