Go Back   Velocity Reviews > Newsgroups > Python
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

Python - Re: How best to test functions which use date.today

 
Thread Tools Search this Thread
Old 02-28-2009, 08:38 PM   #1
Default Re: How best to test functions which use date.today


En Sat, 28 Feb 2009 15:35:47 -0200, Yuan HOng <>
escribió:

> In my project I have several date related methods which I want tested for
> correctness. The functions use date.today() in several places. Since this
> could change every time I run the test, I hope to find someway to fake a
> date.today.
>
> For illustration lets say I have a function:
>
>
> from datetime import date
> def today_is_2009():
> return date.today().year == 2009
>
> To test this I would like to write test function like:
>
> def test_today_is_2009():
> set_today(date(2008, 12, 31))
> assert today_is_2009() == False
> set_today(date(2009,1,1))
> assert today_is_2009() == True
>


Instead of trying to inject a fake date, you could rewrite the function to
take a date argument:

def today_is_2009(today=None):
if today is None:
today = date.today()
return today.year == 2009

Then, tests should pass a known date. This approach has a drawback -- you
don't test the case when no argument is given.

Another way is to use a fake date class, or a fake datetime module. Google
"python mock object"

--
Gabriel Genellina



Gabriel Genellina
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Give you enough string functions in Java web reporting tool freezea Software 0 10-08-2009 09:03 AM
Please explain this virtual functions matter (c++) smokey1401 General Help Related Topics 0 07-11-2008 11:53 PM
c# dynamic functions threading Ahmad MCTS 0 07-10-2008 02:12 PM
piece-wise functions in Tex/HTML lou General Help Related Topics 0 10-07-2006 03:08 AM
programming xxd3033 pioneer remote for universal functions jmaroon DVD Video 0 08-27-2006 03:32 PM




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46