импорт файлов для тестирования функций в clojure - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть основная папка src, в которой есть другая папка, скажем, xyz, в которой есть файл main.clj, у меня есть другая папка test, в которой есть папка xyz и файл main_test.clj, но когда я запускаю: lein test, она говорит:

Пользователь lein test Выполнил 0 тестов, содержащих 0 утверждений.0 сбоев, 0 ошибок.

Мне нужно протестировать функции main.clj, я очень новичок в том, что любая помощь будет полезной.

    --- project1
       |____src
       |     |_____main.clj
       |_____test
       |     |_____main_test.clj 
       |_____project.clj

Я пробовал разные способы с requireи загрузить.я должен написать модульные тесты.

Ответы [ 3 ]

4 голосов
/ 19 сентября 2019

Если ваш исходный файл src/xyz/main.clj и его форма ns вызывает его xyz.main, убедитесь, что у вас есть test/xyz/main_test.clj, а его форма ns вызывает его xyz.main-test - обратите внимание на дефис, соответствующий_ в имени файла.

Если этой промежуточной папкой является x_y_z, то соответствующий сегмент пространства имен будет x-y-z.

1 голос
/ 19 сентября 2019

У Шона есть несколько хороших моментов.Если это не сработает, попробуйте следующее, чтобы запустить базовую настройку:

~/expr > lein new app sample
~/expr > cd sample
~/expr/sample > lein test

lein test sample.core-test

lein test :only sample.core-test/a-test

FAIL in (a-test) (core_test.clj:7)
FIXME, I fail.
expected: (= 0 1)
  actual: (not (= 0 1))

Ran 1 tests containing 1 assertions.
1 failures, 0 errors.
Tests failed.
1 голос
/ 19 сентября 2019

Вам нужно добавить каталог test в classpath для запуска тестов.Это для Leiningen сделано в project.clj:

(defproject project1
  …
  :test-paths ["test"]
  …)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...