2014-06-17 5 views
1

Я пытаюсь написать unittest для моего класса. Прежде всего, я устанавливаю пакет unittest и создаю папку спецификаций, чтобы сохранить все мои файлы unittest. Затем я создать файл теста дротика с следующим содержанием:Запись unittest и сохранение в отдельной папке

library i18n_test; 

import 'package:unittest/unittest.dart'; 

void main() { 


} 

Когда я запускаю файл, я получил следующее сообщение об ошибке

Unable to open file: D:\Dart\i18n\bin\spec\packages\unittest\unittest.dart'file:///D:/Dart/i18n/bin/spec/i18n_test.dart': error: line 3 pos 1: library handler failed 
import 'package:unittest/unittest.dart'; 

Как я уже говорил, я сохранил мой UnitTest файл в папке спецификации, Я думаю, что, поскольку компилятор не смог найти пакет unittest.
Моя структура папок выглядит следующим образом:
enter image description here

Что делать я неправильно?

ответ

3

Ошибка связана с отсутствующей символической ссылкой packages в вашей папке spec. см https://code.google.com/p/dart/issues/detail?id=16947

Во всяком случае
модульные тесты должны быть помещены в папку test (i18n/test).
Таким образом, ваш тестовый код не будет включен в вывод сборки.

Лучше иметь большую часть своего кода в папке lib, чтобы сделать его легко импортировать в ваших тестах с использованием импорта пакетов, например:

import 'package:i18n/my_dart_file.dart'; 

вы все равно должны быть в состоянии импортировать из bin или web используя относительный импорт, такой как

import '../bin/my_dart_file.dart'; 

но эта форма не очень реорганизуется.

+0

не могли бы вы показать мне, где я должен разместить папку lib? –

+0

сделать 'lib' братом' bin' и 'test' (' i18n/lib'). см. также https://www.dartlang.org/tools/pub/package-layout.html –

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