У меня есть несколько тестов tinytests, простых серверных модулей.Можете ли вы использовать tinytest для тестирования пакета, который использует другие пакеты
Отдельно они работают нормально, но если я запускаю их вместе, то получаю ошибки в своих коллекциях.
Что еще может вызвать ошибку, как показано ниже?
Я думаю, что это связано с определением экспорта в JS-файле и другими классами в coffeescript, а некоторые проблемы с определением области охвата усложняют ситуацию. «Говорил, что ты не пользуешься кофейником», я слышу. Но опять же, это может быть что-то еще!
os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245
W20150418-17:39:20.312(-7)? (STDERR) throw(ex);
^
Error: A method named '/Profiles/insert' is already defined
at packages/ddp/livedata_server.js:1461:1
at Function._.each._.forEach (packages/underscore/underscore.js:113:1)
at [object Object]._.extend.methods (packages/ddp/livedata_server.js:1459:1)
at [object Object].Mongo.Collection._defineMutationMethods (packages/mongo/collection.js:90
at new Mongo.Collection (packages/mongo/collection.js:209:1)
at [object Object].Meteor.Collection (packages/dburles:collection-helpers/collection-helper
at __coffeescriptShare (packages/local-test:dcsan:mpgames/lib/exports.js:2:1)
at /private/var/folders/lw/6kdr1_9j3q1ggldr_c798qy80000gn/T/meteor-test-run126tw73/.meteor/
FWIW У приложения нет проблем с запуском, его просто тесты, которые терпят неудачу.
Я бы предпочел решить, почему он думает, что профили определены дважды. Кажется, что это только в испытательном упряжи. На самом деле профили определяются в отдельном пакете, который используется только 'use'd. Но это обязательный параметр, поэтому я не могу создать фальшивую нулевую версию. Я четко определял его в 'export.js', что пространство имен пакетов метеор может иметь дело с радостью. – dcsan
Grep для 'нового Mongo.Collection'? Я не уверен, как помочь, не видя ваш код. –
Я думаю, это потому, что в двух тестируемых пакетах есть третий пакет, который, возможно, имеет свои собственные тесты, так что код инициализации третьего пакета выполняется дважды. кажется неудобным ограничением, но пока не подтвердил это. – dcsan