[英]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.