2016-03-12 3 views
4

Я получаюPycharm - тесты не были найдены?

не были найдены тесты

ошибку в PyCharm, и я не могу понять, почему я получаю это ... это то, что у меня есть для моего point_test.py:

import unittest 
import sys 
import os 

sys.path.insert(0, os.path.abspath('..')) 

from ..point import Point 


class TestPoint(unittest.TestCase): 
    def setUp(self): 
     pass 

    def xyCheck(self,x,y): 
     point = Point(x,y) 
     self.assertEqual(x,point.x) 
     self.assertEqual(y,point.y) 

и это point.py, что я пытаюсь тест:

import unittest 

from .utils import check_coincident, shift_point 

class Point(object): 
    def __init__(self,x,y,mark={}): 
     self.x = x 
     self.y = y 
     self.mark = mark 

    def patched_coincident(self,point2): 
     point1 = (self.x,self.y) 
     return check_coincident(point1,point2) 

    def patched_shift(self,x_shift,y_shift): 
     point = (self.x,self.y) 
     self.x,self,y = shift_point(point,x_shift,y_shift) 

Это что-то не так с моей конфигурацией запуска? Я посмотрел на this SO сообщение, но я все еще совершенно смущен. Моя конфигурация запуска в настоящее время выглядит следующим образом:

enter image description here

Я думаю, я просто понимаю, что я могу делать неправильно? Любая помощь будет принята с благодарностью, спасибо!

+1

имя вашей функции 'test_xy' ... (может быть?) (Я только что заметил, что вы использовали носететы) –

+1

@JoranBeasley Я чувствую себя идиотом, но это исправило его! – ocean800

ответ

12

, чтобы распознавать тестовые функции, которые они должны быть названы test_ в вашем случае переименовать xyCheck в test_xyCheck :)

2

Другой вопрос, вы можете проверить, если вы видите в консоли вывода "## Тесты отмененные '-k XXXX' ". Это означает, что вы добавили ключевое слово в конфигурацию Run/Debug, а Pycharm будет запускать тесты, чье имя содержит ключевое слово.

+0

Спасибо, я бы никогда этого не заметил. – Wizard

8

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

Как я понял, PyCharm (или плагин Intellij Idea Python) нуждается в вашем тесте, чтобы соответствовать следующим критериям, если вы хотите, чтобы он запускался при запуске всех тестов в каталоге.

  1. тестовых функции должны начинаться с «тестом» (подчеркивание не обязательно)
  2. файлом, содержащим тест должен также начать с «тестом». «Тест» (с капиталом T не работает в моем случае

Я использую IntelliJ IDEA 2016.3.5 с плагин Python

Если вы хотите запустить тесты вам с командной строкой

python -m unittest 

Затем вы должны добавить , чтобы проверить каталог. Python по-прежнему хочет, чтобы имена тестовых функций начинались с «теста», и вы тестируете имя файла, чтобы начать с «теста», но в случае файлов ему все равно, Первый «т» является капиталом или нет. TestCase и test_case одинаково хороши.

1

Добавление другого ответа в надежде, что он поможет кому-то по дороге. Я боролся с этой проблемой и просто понял ответ (думаю). Я изначально удалил стандартный файл Django tests.py из папки моего приложения. Я также создал подкаталог моего проекта под названием «тесты», который содержит отдельные тестовые скрипты. В этой ситуации Pycharm не смог найти тесты. Я исправил это, просто создав пустой файл под названием tests.py в папке моего приложения.

Итак:

  1. Убедитесь, что файл с именем tests.py в вашем директора приложения (это может быть пустой файл)
  2. кажется, что папка тестов, в вашем проекте, может содержат отдельные тестовые сценарии, и Pycharm, похоже, находит и запускает их.

Вот изображение структуры каталогов, которая работает для меня:

enter image description here

2

Не используйте дефис («-») в вашем имени. Эти файлы игнорировались на моей машине. переименование их из project-tests.py в project_tests.py решило проблему.

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