fixtures2

Fixtures2 is an extension of the fixtures test framework.


Install
pip install fixtures2==0.1.8

Documentation

Introduction

Fixtures2 is an extension of the fixtures test framework.

Installation

pip install fixtures2

Examples

Patches

from fixtures2.case import TestCase
from fixtures2.patches import PatchesFixture
import sys

class PatchesTest(TestCase):
    def setUp(self):
        super(PatchesTest, self).setUp()
        self.patches = self.useFixture(PatchesFixture())
        
    def test(self):
        self.patches.patch('sys.argv', ['a', 'b', 'c'])
        self.assertEqual(['a', 'b', 'c'], sys.argv)

Streams

from fixtures2.case import TestCase
from fixtures2.streams import StreamsFixture
import sys

class StreamsTest(TestCase):
    def setUp(self):
        super(StreamsTest, self).setUp()
        self.streams = self.useFixture(StreamsFixture())
        
    def test(self):
        print('aaa')
        sys.stderr.write('bbb\n')
        self.assertEqual('aaa\n', self.streams.stdout)
        self.assertEqual('bbb\n', self.streams.stderr)

Date & DateTime

from datetime import date, datetime
from fixtures2.case import TestCase
from fixtures2.datetime import DateTimeFixture, DateFixture

def date_today():
    return date.today()

def datetime_now():
    return datetime.now()

def datetime_today():
    return datetime.today()

class DateTest(TestCase):
    def setUp(self):
        super(DateTest, self).setUp()
        self.useFixture(DateFixture('datetime_test.date', date(2000, 1, 1)))
        
    def test(self):
        result = date_today()
        self.assertEqual(date(2000, 1, 1), result)

class DateTimeTest(TestCase):
    def setUp(self):
        super(DateTimeTest, self).setUp()
        self.useFixture(DateTimeFixture('datetime_test.datetime', datetime(2000, 1, 1, 12, 0, 0)))
        
    def test_now(self):
        result = datetime_now()
        self.assertEqual(datetime(2000, 1, 1, 12, 0, 0), result)
        
    def test_today(self):
        result = datetime_today()
        self.assertEqual(date(2000, 1, 1), result)

Mox

class MoxTest(TestCase):
    def setUp(self):
        super(MoxTest, self).setUp()
        self.mox = self.useFixture(MoxFixture())
        
    def test_mock(self):
        self.mox.mock('os.path.exists')
        with self.mox.record():
            os.path.exists('/tmp/abc').AndReturn(True)
        with self.mox.replay():
            result = os.path.exists('/tmp/abc')
            self.assertTrue(result)
            
    def test_create_mock(self):
        mock = self.mox.create_mock()
        with self.mox.record():
            mock.foo().AndReturn('foo')
        with self.mox.replay():
            result = mock.foo()
            self.assertEqual('foo', result)
            
    def test_store_arg(self):
        self.mox.mock('os.path.exists')
        arg = StoreArg()
        with self.mox.record():
            os.path.exists(arg).AndReturn(True)
        with self.mox.replay():
            os.path.exists('/tmp/abc')
            self.assertEqual('/tmp/abc', arg.get())

Author

Mengchen LEE: Google Plus, LinkedIn