Δημοσιεύτηκε: 28 Ιαν 2012, 20:14
από Ilias95
@sokoban4ever
Φαντάζομαι πλέον αναφέρεσαι σε αυτό το post: viewtopic.php?p=227050#p227050
Αυτό που λέω για τα tests είναι άσχετο με τη δομή των φακέλων. Αυτό που προσπαθούσα να κάνω είναι να τρέξω ένα test (unittest) μέσα από άλλο module.

Έστω ότι έχω στον ίδιο φάκελο τα αρχεία test_simple.py και run_tests.py.
Κώδικας: Επιλογή όλων
#test_simple.py

import unittest

class Simple(unittest.TestCase):
def test_basic_addition(self):
"""Tests that 1 + 1 always equals 2"""
self.assertEqual(1 + 1, 2)

if __name__ == '__main__':
unittest.main()

Κώδικας: Επιλογή όλων

#run_tests.py

import test_simple
test_simple.unittest.main()

Τα εκτελώ και τα δύο μέσα απ' τον φάκελο που βρίσκονται. Δεν έχει σημασία άλλωστε εδώ.

Φυσικά αν εκτελέσω το test_simple.py θα πάρω σαν έξοδο:
Spoiler: show
Κώδικας: Επιλογή όλων
.
----------------------------------------------------------------------
Ran 1 test in 0.002s

OK

Το test έτρεξε κανονικά και μάλιστα πέρασε.

Αν τρέξω το run_test.py όμως η έξοδος θα είναι:
Spoiler: show
Κώδικας: Επιλογή όλων
----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

Δηλαδή το test δεν εκτελέστηκε! Φαντάζομαι ο λόγος είναι ότι ψάχνει για tests στο run_tests.py και φυσικά δεν υπάρχουν.

Αυτό είναι το πρόβλημα με τα tests.
Το πρόβλημα με τα imports είναι άλλο, ανεξάρτητο: viewtopic.php?p=226976#p226976
Edit: Στο παράδειγμα σου δεν νομίζω ότι χρειάζεται η __name__.