2013-03-06 79 views
0

我的單元測試沒有在Dartium中顯示任何東西。它應該顯示單元測試結果,但它不顯示任何內容。我的代碼如下:Dart單元測試不起作用

import "package:unittest/unittest.dart"; 
import "package:unittest/html_config.dart"; 
import "../../bolsaviaje/web/bolsaviaje.dart" as bolsaviaje; 

void main() { 
    useHtmlConfiguration(); 
    test("PackItem constructor",(){ 
    var item = new bolsaviaje.Cosa("Towel"); 
    expect(item,isNotNull); 
    }); 

    test("PackItem itemtext propery",(){ 
    var item = new bolsaviaje.Cosa("Towel"); 
    expect(item.nombre,equals("Towel")); 
    }); 
} 

我pubspec.yaml如下:

name: PackListTest 
description: A sample web application 
dependencies: 
    unittest: any 

我pubspec.lock如下:

# Generated by pub. See: http://pub.dartlang.org/doc/glossary.html#lockfile 
    {"packages":{"unittest":{"version":"0.4.1","source":"hosted","description":"unittest"},"meta":{"version":"0.4.1+1","source":"hosted","description":"meta"}}} 

我的HTML文件我的內容用於單元測試的是以下內容:

<!DOCTYPE html> 

<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>PackListTest</title> 
    <link rel="stylesheet" href="packlisttest.css"> 
    </head> 
    <body> 
    <script type="application/dart" src="packlisttest.dart"></script> 
    </body> 
</html> 

我使用的Dart版本是Dart M3。

我沒有獲得任何東西:在Dartium控制檯沒有任何東西在生成的HTML。

我不得不說我有兩個項目:一個是web應用程序,另一個是我的單元測試項目。

非常感謝您的幫助。

+0

您可以發佈pubspec.yaml,pubspec.lock的內容以及您使用的SDK或編輯器的版本嗎?謝謝! – 2013-03-06 07:06:47

+0

另外,您可以提供您用來驅動測試的HTML文件的內容嗎? – 2013-03-06 07:07:55

+0

下面是一些測試的工作,也許你可以比較你在做什麼? https://github.com/sethladd/lawndart/tree/master/test – 2013-03-06 07:08:49

回答

0

我解決了我的問題。我採取了兩項行動。第一個是將我的單元測試移動到我的應用程序所在的文件夾中。而第二個是這條線在1號線添加到我的.dart的應用程序文件:

library "whatever" 

不要緊,什麼庫的名稱,因爲在我的.dart單元測試文件我寫的:

import "bolsaviaje.dart" 

這是我的應用程序

我希望這一決議能幫助你,如果你有同樣的問題的名稱。

另一方面,我不知道是否存在與在兩個不同文件夾中進行應用程序和單元測試有關的約束。

1

您需要添加以下到HTML

<script src="packages/browser/dart.js"></script> 

,並添加以下依賴於pubspec.yaml

dependencies: 
    browser: any 

Dartium現在還使用dart.js來引導應用程序。

+0

我已經添加了你的建議,但結果是一樣的,dart控制檯和網頁都是空白的。我可以寄給你我的項目嗎? – user2128078 2013-03-07 16:18:20

+0

問題是這條線: import「../../bolsaviaje/web/bolsaviaje。dart「作爲bolsaviaje; 似乎Dart無法正確解析路徑,即使當我指定完整路徑時: import」C:/Users/mercadra/Documents/Dart/BolsaViaje/web/bolsaviaje.dart「 ; 正如我所說的,我有兩個應用程序:一個是Web應用程序本身,另一個是我的單元測試項目,兩者在文件夾結構中處於同一級別,我不知道這是否是一個約束使用單元測試 – user2128078 2013-03-07 20:02:09

+0

Dart編輯器有一個內置的服務器,可以爲項目結構提供任何服務,如果您引用的文件不在項目結構中,那麼您可能會遇到問題。快速測試:在Dartium中,你可以瀏覽文件'bolsaviaje.dart'嗎?(也可以隨意壓縮併發送文件 - 使用我的個人資料中的聯繫方式) – 2013-03-07 20:19:10