[php] datum veranderen voor test

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • assass
  • Registratie: November 2002
  • Laatst online: 31-07-2024

assass

Salon GoT'er

Topicstarter
Mijn kalender/bestelsysteem vertoont wat bugs rondom de jaarwisseling. Daar is uiteraard gebrekkige scriptie debet aan,.. maar ik mis dan ook de mogelijkheid deze periode goed te testen.

Ik ben bang dat het volgend jaar weer mis gaat. Ik gebruik in mijn script veelvuldig date(W), date(Y), etc. Is het mogelijk ergens op de externe hosting, bijv. via een .htaccess of liever nog in het phpbestand zelf, de datum te wijzigingen voor de test?

Simpelweg date(W) = 52, date(Y) = 2011 plaatsen aan het begin van het bestand werkt helaas niet - maar zoiets zou wel echt super handig zijn, zodat ik kan zien hoe het systeem reageert in de laatste week van volgend jaar (als voorbeeld).

Acties:
  • 0 Henk 'm!

  • Johnny
  • Registratie: December 2001
  • Laatst online: 16:40

Johnny

ondergewaardeerde internetguru

Je kan de date() functie een tweede parameter meegeven van een willekeurige timestamp. Met strtotime() kun je een datum (bijvoorbeeld "2010-12-31 23:45") omzetten naar een timestamp.

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Acties:
  • 0 Henk 'm!

Verwijderd

Dan schrijf je toch een wrapper functie en gebruik je die overal?

Acties:
  • 0 Henk 'm!

  • Xaero
  • Registratie: November 2007
  • Laatst online: 16-09 15:00
Lokaal testen op je PC en dan de datum & tijd van je pc terugzetten is vast geen optie?

Acties:
  • 0 Henk 'm!

  • Manuel
  • Registratie: Maart 2008
  • Laatst online: 14-09 14:15
Waarom doe je het gewoon niet per variabelen? Dan geef jij gewoon een standaard waarde in en ga je op die manier debuggen? Als je weet wat de uitkomst is van je date("W") en van date("Y") is het toch zo gepiept?

Kwestie van debuggen lijkt me.

Acties:
  • 0 Henk 'm!

  • Depep
  • Registratie: Juni 2007
  • Laatst online: 27-07 13:15
Als je voldoende toegang hebt tot de server kan je simpelweg de systeem datum wijzigen.

[ Voor 6% gewijzigd door Depep op 02-01-2010 16:25 ]

specs


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Depep schreef op zaterdag 02 januari 2010 @ 16:24:
Als je voldoende toegang hebt tot de server kan je simpelweg de systeem datum wijzigen.
En onder tussen je logging, andere bestellingen die door blijven komen etc. over de zeik helpen? Smart move d:)b

Je hoort gewoon over een dev-omgeving te beschikken; of dat je eigen werkstation is, een servertje thuis/werk of een aparte server bij je host boeit niet. Dit soort zaken ga je niet "effe" in productie zitten testen maar in je dev/test-omgeving.

Daarbij: juist dit soort edge-cases hoor je op voorhand eigenlijk te testen voordat het uberhaupt in productie gaat maar da's natuurlijk mosterd na de maaltijd nu :)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 21:57

BCC

Het starten van een test suite lijkt mij inderdaad geen overbodige luxe.

http://www.phpunit.de/
http://www.simpletest.org/

Dat lijkt me ook zeker geen mosterd na de maaltijd, want hij heeft nog een jaar om het zaakje up and running te krijgen.

[ Voor 83% gewijzigd door BCC op 02-01-2010 20:04 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

  • dwilmer
  • Registratie: Oktober 2008
  • Laatst online: 25-01 09:50
Gaat het script misschien over de zeik omdat 2009 53 weken had in plaats van 52? Daar moet je ook nog rekening mee houden, ook met testen.

Acties:
  • 0 Henk 'm!

  • assass
  • Registratie: November 2002
  • Laatst online: 31-07-2024

assass

Salon GoT'er

Topicstarter
daar heeft t idd mee te maken :)
thnx iedereen voor de tips
ik ga idd maar s een lokale testomgeving aanmaken en daarop naar harte lust de komende 100 jaarwisselingen testen! :)

Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Kun je niet gewoon de documentatie goed doorlezen en dan zoeken naar mogelijke problemen?

PHP:
1
2
3
4
5
6
7
8
9
// Voor 3 januari 2010:
date('W'); // = 53
date('Y'); // = 2010
date('o'); // = 2009

// Voor 4 januari 2010:
date('W'); // = 1
date('Y'); // = 2010
date('o'); // = 2010


Dat is gewoon voorspelbaar gedrag waar je rekening mee moet houden. In plaats van de Y/o optie in PHP gebruikt het Zend Framework bijvoorbeeld yyyy (= Y) en YYYY (= 0).

Acties:
  • 0 Henk 'm!

  • assass
  • Registratie: November 2002
  • Laatst online: 31-07-2024

assass

Salon GoT'er

Topicstarter
HuHu schreef op zondag 03 januari 2010 @ 18:20:
Kun je niet gewoon de documentatie goed doorlezen en dan zoeken naar mogelijke problemen?

PHP:
1
2
3
4
5
6
7
8
9
// Voor 3 januari 2010:
date('W'); // = 53
date('Y'); // = 2010
date('o'); // = 2009

// Voor 4 januari 2010:
date('W'); // = 1
date('Y'); // = 2010
date('o'); // = 2010


Dat is gewoon voorspelbaar gedrag waar je rekening mee moet houden. In plaats van de Y/o optie in PHP gebruikt het Zend Framework bijvoorbeeld yyyy (= Y) en YYYY (= 0).
damnz.. das ook een zeer goede tip ja

o ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. (added in PHP 5.1.0) (bron php.net/date)

geen idee dat dat bestond.. maar hier kan ik wel mee aan de slag.. super bedankt
Pagina: 1