m01.stub biedt een MongoDB server stomp setup voor Python doctests.
Dit pakket bevat een Mongo databaseserver testen stomp. U kunt gewoon opzetten van zo'n MongoDB stomp server in een doctest zoals:
import doctest
import unittest
van m01.stub import testen
def test_suite ():
& Nbsp; terugkeren unittest.TestSuite ((
& Nbsp; doctest.DocFileSuite ('README.txt',
& Nbsp; setup = testing.doctestSetUp,
& Nbsp; Teardown = testing.doctestTearDown,
& Nbsp; optionflags = doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS),
& Nbsp;))
Als __name__ == '__main__':
& Nbsp; unittest.main (defaultTest = 'test_suite')
De M01 / stomp / testing.py module zorgt voor een start en stop methode die zal downloaden en installeren, starten en stoppen van een MongoDB server. Dit alles gebeurt in de M01 / stomp / testen / zandbak map. Elke keer een test te beginnen de map MongoDB / data te verwijderen en een nieuwe lege database wennen.
NB: Zie ook de zipFolder en unZipFile methoden testing.py waarin je in staat stelt om MongoDB gegevens en voordat verwijder ze ze op te slaan als een zip-bestand voor een volgende test. Zo'n gecomprimeerde data folder kan wennen in een andere test uit te voeren door te stellen het pad naar het zip-bestand als dataSource argument. Controleer ook de m01.mongo pakket voor meer testen use cases.
Testing
Laten we gebruik maken van de pymongo pakket voor de test onze MongoDB server stomp setup. Let we gebruik maken van een andere poort voor onze stomp server setup (45.017 in plaats van 27.017):
& Nbsp; >>> van pprint import pprint
& Nbsp; >>> import pymongo
& Nbsp; >>> conn = pymongo.Connection ('localhost', 45.017)
Laten we testen onze MongoDB stomp setup:
& Nbsp; >>> pprint (conn.server_info ())
& Nbsp; {u'bits ': 32,
& Nbsp; u'debug ': Valse,
& Nbsp; u'gitVersion ': u' ... ',
& Nbsp; u'maxBsonObjectSize ': ...,
& Nbsp; u'ok ': 1.0,
& Nbsp; u'sysInfo ': ...,
& Nbsp; u'version ': u'1.8.2'}
& Nbsp; >>> conn.database_names ()
& Nbsp; [u'admin ', u'local']
setup een index:
& Nbsp; >>> conn.testing.test.collection.ensure_index ('dummy')
& Nbsp; u'dummy_1 '
voeg een object:
& Nbsp; >>> _id = conn.testing.test.save ({'__ name__': u'foo ',' dummy ': u'object'})
& Nbsp; >>> _id
& Nbsp; ObjectID ('...')
verwijder ze:
& Nbsp; >>> conn.testing.test.remove ({'_ id': _id})
en controleer of de database namen weer:
& Nbsp; >>> conn.database_names ()
& Nbsp; [u'testing ', u'admin', u'local ']
Laten we het laten vallen van de database:
& Nbsp; >>> conn.drop_database ("test")
& Nbsp; >>> conn.database_names ()
& Nbsp; [u'admin ', u'local']
Wat is nieuw in deze release:
- bugfix: didn 't shutdown met de slaap lager de 1
- verbeteren server setup, gebruik unieke log-bestanden voor elke startup
- tests uitvoeren met pymongo 2.4.1
Wat is nieuw in versie 0.5.3:
- Fix 32bit linux download (Albertas)
- Verwijder tijdelijke bestanden na downloaden
- Fix 64bit linux
Wat is nieuw in versie 0.5.2:
- Still bevestigen op Linux
Eisen
- Python
Reacties niet gevonden