[英]Using closure library with jsTestDriver
我正在通過編寫一個簡單的JavaScript游戲來學習谷歌關閉工具。 我無法弄清楚如何設置jsTestDriver以便它與閉包庫一起使用。
具體來說:我想使用goog.require機制來包含任何其他JavaScript文件,而不必手動將它們全部添加到配置文件中。
根據meyertee的建議,我制作了一個簡單的腳本來自動將依賴項寫入配置文件
#!/bin/bash
cp tests/jsTestDriver.conf.proto tests/jsTestDriver.conf
libs/closure-library/closure/bin/build/closurebuilder.py --root="./libs/closure-library" --root="./js" --namespace="lds" | sed "s#^# - \.\./#" >> tests/jsTestDriver.conf
tests / jsTestDriver.conf.proto文件是一個簡單的模板:
test:
- "*.js"
load:
- ../libs/knockout-2.1.0.js
# Crucial, the load key needs to be last, and this comment must be followed by a newline.
這是一個非常脆弱的腳本,但希望有人(除了我)會發現它很有用。
您可以通過讓Closure Compile生成清單文件來半自動執行,該清單文件將以正確的依賴順序輸出所有文件。 然后,您可以將該文件轉換為相對路徑並將其粘貼到JsTestDriver配置文件中。 我就是這樣做的。
您甚至可以編寫一個自動執行此轉換的腳本。
這是相關的編譯器參數:
--output_manifest manifest.MF
Closure Compiler的Google Code Wiki有一些細節
編輯:還有一些Python腳本可以幫助您計算依賴項。 您可以使用calcdeps.py或closurebuilder.py生成清單文件,該文件甚至包含您的代碼未“必需”的文件。
由於JsTestDriver沒有遵循使用goog.provide()
和goog.require()
聲明依賴關系的Closure Library約定,因此您最好的選擇可能是meyertee的解決方案。
但是,Closure Library包含自己的測試框架。 看到:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.