簡體   English   中英

為grunt插件編碼一些測試時,如何動態更改grunt.tasks(…)使用的配置

[英]When coding some tests for a grunt plugin, how to alter dynamically the configuration used by grunt.tasks(…)

我寫了一個咕unt的插件。 在用誓言編寫的測試中,我想在調用之前更改在gruntfile中定義的一些配置對象

grunt.tasks(["my_task"], {}, function(){
    // do something}
)

目標是使用不同的配置多次執行我在gruntfile中定義的某些任務。

我不能使用經典的nodeunit方法,因為我要更改的配置不是我任務的配置。 另外,我在啟動單位任務時遇到了一些問題。

我有這樣的事情:

grunt.initConfig({
    object_I_want_to_alter:{...},
    the_task_I_call:{...}
})

似乎沒有真正的解決方案可以從API發出咕unt聲,因為它是一種命令行工具。 盡管如此,仍有兩種API方法可以提供幫助:grunt.util.spawn和grunt.tasks

兩者似乎都是黑匣子,調用時會讀取gruntfile。

如果我嘗試對grunt.tasks()進行第一次調用以預加載配置,則可以更改我的對象,但是對grunt.tasks()的第二次調用似乎完全重新加載了gruntfile,並且不使用先前的配置。

有人對實現該目標的這種或其他方式有一些見識嗎?

謝謝。

好的,找到了解決方案。

來自咕unt咕commit作響的提交人的答案在我腦海中已經存在了一段時間,但我現在才真正理解。

確實,如果您刪除了gruntfile並首先通過使用hack完成了測試中的所有操作,那么您就可以隨心所欲地進行配置了。

感謝Kyle Robinson Young提供的信息。

最好在grunt網站上擁有更多有關此的信息。

暫無
暫無

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

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