2013-03-06 2 views
0

Мой блок-тест ничего не показывает в Дартиуме. Он должен показывать результат единичного теста, но он ничего не показывает. Мой код выглядит следующим образом:Тест на измерение дротика не работает

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 файла I Используется для единичных испытаний:

<!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 Console и ничего в созданном html.

Должен сказать, что у меня есть два проекта: одно - это веб-приложение, а другое - проект модульного тестирования.

Большое спасибо за помощь.

+0

Не могли бы вы разместить содержимое pubspec.yaml, pubspec.lock и версию SDK или редактора, который вы используете? Благодаря! –

+0

Также вы можете представить содержимое HTML-файла, который вы используете для тестирования тестов? –

+0

Вот куча тестов, которые работают, может быть, вы можете сравнить с тем, что делаете? https://github.com/sethladd/lawndart/tree/master/test –

ответ

0

Я решил свою проблему. Я сделал два действия. Первым был переход моего модульного теста в ту же папку, в которой находится мое приложение. И второй один, чтобы добавить эту строку в мой .dart файл приложения в строке 1:

library "whatever" 

Это не имеет значения то, что имя библиотеки, потому что в моем .dart модульного тестирования файла, который я написал :

import "bolsaviaje.dart" 

, который является именем моего приложения

Я ожидаю, что это решение может помочь вам, если у вас есть такая же проблема.

С другой стороны, я не знаю, существует ли ограничение, связанное с тем, что приложение и модульный тест находятся в двух разных папках.

1

Вам нужно будет добавить следующее к HTML

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

и добавьте следующую зависимость для pubspec.yaml

dependencies: 
    browser: any 

Dartium теперь также использует dart.js для начальной загрузки приложения.

+0

Я добавил то, что вы предлагали, но результат тот же, пульт дартс и веб-страница пустые. Могу ли я отправить вам свой проект? – user2128078

+0

Проблема в этой строке: импорт "../../bolsaviaje/web/bolsaviaje.dart "как bolsaviaje кажется, что Дарт не может правильно решить путь, даже когда я укажу полный путь: импорт" C: /Users/mercadra/Documents/Dart/BolsaViaje/web/bolsaviaje.dart " Как я уже сказал, у меня есть два приложения: один из них - это веб-приложение, а другое - мой тестовый проект. Оба они находятся на одном уровне в структуре папок. Я не знаю, является ли это ограничением, когда с использованием модульного тестирования. – user2128078

+0

Редактор Dart имеет встроенный сервер, который обслуживает все, что находится в структуре проекта. Если вы ссылаетесь на файл, который находится вне структуры проекта, то у вас могут возникнуть проблемы. Быстрый тест: в Dartium , можете ли вы перейти к файлу 'bolsaviaje.dart'? (также, не стесняйтесь писать и отправлять файлы - используйте контактные данные в своем профиле) –

Смежные вопросы