多語言測試框架
回答
我看到了兩個策略:
裹的代碼在某些類型的服務器進行測試,這樣你就可以調用方式來遠程測試。這將允許您使用任何測試套件。
用J#或任何其他語言編寫測試,您可以輕鬆映射到.NET和Java。這意味着您只需編寫一次測試,然後將測試代碼「翻譯」成兩種不同測試框架可以理解的內容。
我建議先嚐試第二種方法。以更復雜的測試設置爲代價,它將使測試更快。第一種方法可能更容易設置,但它會使測試速度變慢,您需要在測試中的某個地方啓動並拆除服務器。
我們主要是一個.NET商店,所以如果我們可以用CLR語言編寫測試,那對我們來說很容易。但是,我不想混淆測試代碼。理想情況下,我只會寫一次測試。 謝謝。 – 2009-09-25 08:12:10
運行一個將代碼從一種語言翻譯成另一種語言的腳本(當這兩種語言非常相似時)並不是「搞亂」:) – 2009-09-25 08:19:09
我想這是可行的,但是,我再一次寧願不必做編寫更多的支持代碼。儘管如此,我仍會考慮。 – 2009-09-25 08:38:42
有趣的問題..
我認爲,你可以使用的xUnit實現針對Java(JUnit的,最有可能的)和.NET。但是你的測試代碼必須寫成第三種語言,可能是簡單的DSL,用於你自己設計的測試。該語言將被轉換爲Java和C#源文件。
其他選擇是不要弄髒自己的語言,並採取一些現有的。例如。 Python具有兩種平臺的實現:Jython(Java)和IronPython(.NET)。所以你可以用這種語言編寫測試。 Python有自己的捆綁xUnit實現:unittest
包。
+1我喜歡使用Python的想法 – 2009-09-25 08:01:54
設計我自己的DSL聽起來太複雜了,但我認爲python方法值得考慮。 謝謝 – 2009-09-25 08:07:09
什麼是DSL? – jrharshath 2009-09-25 12:05:56
我只是不確定爲什麼你想要在Java和.NET中實現並行實現,並努力維護2個代碼庫。 Python確實提供了可編寫腳本的測試工具,但是在每個平臺上都有ceveats,即並非所有的核心python模塊都已經移植到java和ipython。
這是一個商業決定。我們有客戶與Java或.NET技術綁定,並且大部分客戶不希望我們在他們的服務器上安裝外部到他們平臺的代碼。 – 2009-09-25 08:32:09
我覺得有趣的是,你正在尋找不重複單元測試的努力,但不是爲應用程序本身。爲什麼不用Java編寫應用程序核心&單元測試,然後使用ikvm,並且只在C#和Java中具有基於技術權限的單獨測試的UI級別。 (或者Grasshopper,如果你是.NET商店)?
你說什麼是有道理的,但我不確定我是否相信任何第三方工具將代碼從一個平臺轉換到另一個平臺。我寧願控制正在發生的事情。此外,這兩個實現*應該是相當簡單的。 – 2009-09-25 09:07:56
是否有任何針對這兩種環境的中性語言,並支持編譯爲本地字節碼選項? Python或Ruby說?您的客戶不需要知道(除非他們想要查看源代碼),因爲您只需提供編譯類和附加庫。 – 2009-09-25 10:49:05
我是jni4net的作者,是JVM和CLR之間的開源內部進程橋。它建立在JNI和PInvoke之上。沒有C/C++代碼需要。我希望它能幫助你。
看來jni4net將無法在linux盒子上工作,這是我的要求之一。 – 2010-04-23 08:26:32
關於Mono的更多信息,請點擊: http://zamboch.blogspot.com/2010/04/jni4net-not-yet-on-mono-linux.html 想要與我們分享您的故事來支持您的案例嗎? – 2010-04-24 19:24:50
我建議重新檢查問題的粒度。它意味着單元測試,但爲什麼不去功能/系統級測試。在這種情況下,FIT成爲一種選擇。
作爲一個例子,我們在Java中有一個客戶端 - 服務器應用程序。我們使用FIT作爲備用客戶端:我們可以指定Html輸入文件和一些膠水(又名固件),我們可以打到服務器。
好消息是,這與服務器上的語言無關,並且可以將Html文件用作驗收測試。
壞消息是FIT只是一個框架:它可能需要大量的膠水。另外,必須認識到這些不是單元測試。粒度不僅不同,而且速度也不同。即從單元測試的角度來看,大量測試可能無法在「正常」時間內運行。 (我們CI構建過程中在夜間,只有一小部分運行我們的。)
而不是編寫應用程序的兩個版本,你可以在UML建模的情況,
然後用AndroMDA到正向工程模型爲獨立的Java和。淨實現。
AndroMDA使用的方法促進包含單元測試。
- 1. 多語言集成測試框架
- 2. 框架和語言過多
- 3. 什麼是非oo語言的原型單元測試框架?
- 4. 測試各種語言和框架性能的最佳方法
- 5. Yii框架:多語言支持
- 6. 多語言翻譯 - 開源框架?
- 7. Yii框架和多語言內容
- 8. Genesis框架中的多語言網站
- 9. 在Boost測試框架中斷言的測試
- 10. 功能測試多語言Symfony2應用
- 11. Bot框架語言翻譯
- 12. 編碼的UI測試多語言組合框?
- 13. Sinatra測試框架
- 14. JPA測試框架
- 15. Java測試框架
- 16. AI測試框架
- 17. Android測試框架
- 18. MATLAB測試框架
- 19. 硒測試框架
- 20. 測試angular-translate fallback語言
- 21. 語言轉換測試
- 22. 如何測試語言DLL?
- 23. 預設語言測試
- 24. 建立多個單元測試框架?
- 25. 多變量分離測試框架
- 26. 使用android測試框架的Android多點觸控測試
- 27. 運行測試,而測試框架
- 28. theintern測試框架 - 測試iframes
- 29. 系統測試的測試框架
- 30. 組件測試的測試框架
說實話,我真的很想找一個藉口來學習Ruby.This可能就是這樣。我會檢查測試單元。 謝謝 – 2009-09-25 15:21:37