簡體   English   中英

使用帶有jsTestDriver的閉包庫

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

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