Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
2 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
{"google":"UA-10257980-1","tagline":"Let your Python tests travel through time","note":"Don't delete this file! It's used internally to help with page regeneration.","body":"# FreezeGun: Let your Python tests travel through time\r\n\r\nFreezeGun is a library that allows your python tests to travel through time by mocking the datetime module.\r\n\r\n## Usage\r\n\r\nOnce the decorator or context manager have been invoked, all calls to datetime.datetime.now(), datetime.datetime.utcnow(), and datetime.date.today() will return the time that has been frozen.\r\n\r\n### Decorator\r\n\r\n```python\r\nfrom freezegun import freeze_time\r\n\r\n@freeze_time(\"2012-01-14\")\r\ndef test():\r\n assert datetime.datetime.now() == datetime.datetime(2012, 01, 14)\r\n\r\n# Or class based\r\n\r\n@freeze_time(\"2012-01-14\")\r\nclass Tester(object):\r\n def test_the_class(self):\r\n assert datetime.datetime.now() == datetime.datetime(2012, 01, 14)\r\n```\r\n\r\n### Context Manager\r\n\r\n```python\r\nfrom freezegun import freeze_time\r\n\r\ndef test():\r\n assert datetime.datetime.now() != datetime.datetime(2012, 01, 14)\r\n with freeze_time(\"2012-01-14\"):\r\n assert datetime.datetime.now() == datetime.datetime(2012, 01, 14)\r\n assert datetime.datetime.now() != datetime.datetime(2012, 01, 14)\r\n```\r\n\r\n### Raw use\r\n\r\n```python\r\nfrom freezegun import freeze_time\r\n\r\nfreezer = freeze_time(\"2012-01-14 12:00:01\")\r\nfreezer.start()\r\nassert datetime.datetime.now() == datetime.datetime(2012, 01, 14, 12, 00, 01)\r\nfreezer.stop()\r\n```\r\n\r\n### Timezones\r\n\r\n```python\r\nfrom freezegun import freeze_time\r\n\r\n@freeze_time(\"2012-01-14 03:21:34\", tz_offset=-4)\r\ndef test():\r\n assert datetime.datetime.utcnow() == datetime.datetime(2012, 01, 14, 03, 21, 34)\r\n assert datetime.datetime.now() == datetime.datetime(2012, 01, 13, 23, 21, 34)\r\n\r\n # datetime.date.today() uses local time\r\n assert datetime.date.today() == datetime.datetime(2012, 01, 13)\r\n```\r\n\r\n### Nice inputs\r\n\r\nFreezeGun uses python-dateutil behind the scenes so you can have nice-looking datetimes\r\n\r\n```python\r\n@freeze_time(\"Jan 14th, 2012\")\r\ndef test_nice_datetime():\r\n assert datetime.datetime.now() == datetime.datetime(2012, 01, 14)\r\n```\r\n\r\n## Warning\r\n\r\nFor the time being, this library only works if you use/import your datetime libraries like\r\n\r\n```python\r\nimport datetime\r\nnow = datetime.datetime.now()\r\n```\r\n\r\nnot if you do the following\r\n\r\n```python\r\nfrom datetime import datetime\r\nnow = datetime.now()\r\n```\r\n\r\nI am working on fixing this, but it will take a bit.\r\n\r\n## Installation\r\n\r\nTo install FreezeGun, simply:\r\n\r\n```bash\r\n$ pip install freezegun\r\n```","name":"FreezeGun"} | ||
{"tagline":"Let your Python tests travel through time","body":"# FreezeGun: Let your Python tests travel through time\r\n\r\nFreezeGun is a library that allows your python tests to travel through time by mocking the datetime module.\r\n\r\n## Usage\r\n\r\nOnce the decorator or context manager have been invoked, all calls to datetime.datetime.now(), datetime.datetime.utcnow(), and datetime.date.today() will return the time that has been frozen.\r\n\r\n### Decorator\r\n\r\n```python\r\nfrom freezegun import freeze_time\r\n\r\n@freeze_time(\"2012-01-14\")\r\ndef test():\r\n assert datetime.datetime.now() == datetime.datetime(2012, 01, 14)\r\n\r\n# Or class based\r\n\r\n@freeze_time(\"2012-01-14\")\r\nclass Tester(object):\r\n def test_the_class(self):\r\n assert datetime.datetime.now() == datetime.datetime(2012, 01, 14)\r\n```\r\n\r\n### Context Manager\r\n\r\n```python\r\nfrom freezegun import freeze_time\r\n\r\ndef test():\r\n assert datetime.datetime.now() != datetime.datetime(2012, 01, 14)\r\n with freeze_time(\"2012-01-14\"):\r\n assert datetime.datetime.now() == datetime.datetime(2012, 01, 14)\r\n assert datetime.datetime.now() != datetime.datetime(2012, 01, 14)\r\n```\r\n\r\n### Raw use\r\n\r\n```python\r\nfrom freezegun import freeze_time\r\n\r\nfreezer = freeze_time(\"2012-01-14 12:00:01\")\r\nfreezer.start()\r\nassert datetime.datetime.now() == datetime.datetime(2012, 01, 14, 12, 00, 01)\r\nfreezer.stop()\r\n```\r\n\r\n### Timezones\r\n\r\n```python\r\nfrom freezegun import freeze_time\r\n\r\n@freeze_time(\"2012-01-14 03:21:34\", tz_offset=-4)\r\ndef test():\r\n assert datetime.datetime.utcnow() == datetime.datetime(2012, 01, 14, 03, 21, 34)\r\n assert datetime.datetime.now() == datetime.datetime(2012, 01, 13, 23, 21, 34)\r\n\r\n # datetime.date.today() uses local time\r\n assert datetime.date.today() == datetime.datetime(2012, 01, 13)\r\n```\r\n\r\n### Nice inputs\r\n\r\nFreezeGun uses python-dateutil behind the scenes so you can have nice-looking datetimes\r\n\r\n```python\r\n@freeze_time(\"Jan 14th, 2012\")\r\ndef test_nice_datetime():\r\n assert datetime.datetime.now() == datetime.datetime(2012, 01, 14)\r\n```\r\n\r\n## Warning\r\n\r\nFor the time being, the freezegun module must be imported before the datetime module is ever imported for this to work. I'm working on a better solution, but it will take a bit of time.\r\n\r\n## Installation\r\n\r\nTo install FreezeGun, simply:\r\n\r\n```bash\r\n$ pip install freezegun\r\n```\r\n","google":"UA-10257980-1","note":"Don't delete this file! It's used internally to help with page regeneration.","name":"FreezeGun"} |