ÑëÊÓÍø|ÖйúÍøÂçµçÊǪ́|ÍøÕ¾µØͼ |
¿Í·þÉèΪÊ×Ò³ |
ÖйúÍøÂçµçÊǪ́ > ÐÂÎĄ̊ > ÐÂÎÅÖÐÐÄ >
·¢²¼Ê±¼ä:2012Äê02ÔÂ16ÈÕ 16:56 | ½øÈ븴ÐËÂÛ̳ | À´Ô´£ºÖйشåÔÚÏß | ÊÖ»ú¿´ÊÓƵ
΢·Ã̸ | ΢ֱ²¥ | ΢¹ã³¡ | ÃûÈËǽ | ÅÅÐаñ
• ³È×Ó´òÀ¯¸ÃÈçºÎʶ±ð • ½ÒÃؼßÊ®ÑÐÖÆÈ«¹ý³Ì
¡¡¡¡tSQLtÊÇÒ»ÖÖÓÃÓÚÔÚSQL ServerÖнøÐе¥Ôª²âÊÔµÄÃâ·Ñ¿ªÔ´¿ò¼Ü¡£¿ª·¢Õß¿ÉÒÔ±àдtSQLt²âÊÔ°¸Àý£¬´Ó¶ø»ùÓÚÉú²úÊý¾Ý´´½¨ÐéÄâµÄ±íºÍÊÓͼ£¬È»ºó½«ÆÚÍûÖµÓëʵ¼ÊµÄ²âÊÔ½á¹û½øÐбȽϡ£²âÊÔÊÇÓÃT-SQL±àдµÄ£¬Òò´Ë¿ÉÒÔÖ±½ÓÔÚSQL Server Management StudioÖд´½¨¡£
¡¡¡¡Ê¹ÓÃtSQLt£¬¿ª·¢Õß¾ÍÄܹ»ÓµÓвâÊÔ°¸Àý±¾Éí´´½¨µÄÊý¾Ý£¬¶ø²»ÐèÒª»ùÓÚÉú²úÊý¾Ý¿âµÄ¸±±¾»òÕßÐèÒªµ¥¶Àά»¤µÄ²âÊÔÊý¾Ý¿âÀ´²âÊÔ¡£ËùÓвâÊÔ¶¼ÔÚÊÂÎñÖÐÖ´ÐУ¬ÕâÓÐÖúÓÚ¼õÉÙÇåÀíµÄ¹¤×÷¡£tSQLt²âÊÔ¿ÉÒÔÂß¼·Ö×éµ½ÃûΪtest classesµÄÊý¾Ý¿âschemaÖС£
¡¡¡¡°²×°Õâ¸ö¿ò¼ÜºÜ¼òµ¥£»ÏÂÔØÁËtsQLtÖ®ºó£¬Óû§Ê×ÏÈÐèÒªÔÚÊý¾Ý¿âÉÏÆôÓÃCLR¡£
¡¡¡¡EXEC sp_configure clr enabled, 1;
¡¡¡¡RECONFIGURE;Ö´ÐÐtSQLtÎļþ¼ÐÖеÄExample.sql½Å±¾»á´´½¨ÑÝʾÊý¾Ý¿â¡££¨ÏëÒª°ÑtSQLt°²×°µ½ÁíÒ»¸öÊý¾Ý¿âÖУ¬ÄãÐèÒªÔËÐÐALTER DATABASE£¬²¢¼ÓÉÏSET TRUSTWORTHY ONÉùÃ÷£©¡£
¡¡¡¡ÏÂÒ»²½ÊÇÉèÖÃtest class£¬ÆäÖлá°üº¬¶à¸ö²âÊÔ°¸Àý¡£ÕâÒ²Ö»ÊÇ´´½¨ÐµÄschema£º
¡¡¡¡EXEC tSQLt.NewTestClass AcceleratorTests;
¡¡¡¡GOÕâЩ¹¤×÷Íê³ÉÖ®ºó£¬¾Í¿ÉÒÔ´´½¨²âÊÔ°¸ÀýÁË£»ÒÔÏÂÊÇÒ»¸öʾÀý¡£ËùÓвâÊÔ°¸ÀýµÄÃû³Æ¶¼ÐèÒªÒÔ¡°test¡±¿ªÍ·£¬²¢×ñÑSQL Server´æ´¢¹ý³ÌµÄÃüÃû¹æÔò¡£Õâ¸öʾÀý´´½¨ÁËÒ»¸ö²âÊÔ±í£¬È»ºó²åÈëÊý¾Ý£¬²¢µ÷ÓÃÁ˺¯ÊýGetStatusMessage¡£tSQLtº¯ÊýAssertEquals»á¸ù¾ÝÆÚÍûÖµ¼ì²éʵ¼ÊµÄ½á¹û£¬Èç¹ûÆ¥ÅäµÄ»°£¬²âÊÔ¾Íͨ¹ýÁË¡£
¡¡¡¡CREATE PROCEDURE [AcceleratorTests].[test status message includes the number of particles]
¡¡¡¡AS
¡¡¡¡BEGIN
¡¡¡¡Assemble: Fake the Particle table to make sure it is empty and that constraints will not be a problem
¡¡¡¡EXEC tSQLt.FakeTable Accelerator.Particle;
¡¡¡¡Put 3 test particles into the table
¡¡¡¡INSERT INTO Accelerator.Particle (Id) VALUES (1);
¡¡¡¡INSERT INTO Accelerator.Particle (Id) VALUES (2);
¡¡¡¡INSERT INTO Accelerator.Particle (Id) VALUES (3);
¡¡¡¡Act: Call the GetStatusMessageFunction
¡¡¡¡DECLARE @StatusMessage NVARCHAR(MAX);
¡¡¡¡SELECT @StatusMessage = Accelerator.GetStatusMessage();
¡¡¡¡Assert: Make sure the status message is correct
¡¡¡¡EXEC tSQLt.AssertEqualsString The Accelerator is prepared with 3 particles., @StatusMessage;
¡¡¡¡END;µ±Ö´ÐÐÕâ¸ö²âÊÔ°¸ÀýµÄʱºò£¬½á¹û»áÒÔÎı¾ÐÎʽÏÔʾ£¨»òÕß¿ÉÒÔÑ¡ÔñÒÔXML¸ñʽÊä³ö£©£º
¡¡¡¡++
¡¡¡¡|Test Execution Summary|
¡¡¡¡++
¡¡¡¡|No|Test Case Name
¡¡¡¡|Result
¡¡¡¡++++
¡¡¡¡|1|[AcceleratorTests].[test status message includes the number of particles]|Success|
¡¡¡¡Msg 50000, Level 16, State 10, Line 1
¡¡¡¡Test Case Summary: 1 test case(s) executed, 1 succeeded, 0 failed, 0 errored.
¡¡¡¡Ò»µ©ÔÚ²âÊÔÀàÖд´½¨ÁË´óÁ¿²âÊÔ°¸Àý£¬ÎÒÃǾͿÉÒÔʹÓÃEXEC tSQLt.RunAllÀ´ÅúÁ¿ÔËÐС£ÏëÒª»ñµÃ¸ü¶à¿ªÊ¼Ê¹ÓÃtSQLtµÄÐÅÏ¢£¬Äã¿ÉÒÔ·ÃÎÊtSQLt½Ì³Ì¡£
¡¡¡¡Èç¹ûÄãÏëÒª°ÑSQLµ¥Ôª²âÊÔ×÷Ϊ³ÖÐø¹¹½¨¹ý³ÌµÄÒ»²¿·Ö£¬ÄÇô¿ÉÒÔ°ÑtSQLtÓëCruise Control¼¯³É¡£ÕýÈç֮ǰÔÚInfoQÖÐÔø¾±¨µÀ¹ýµÄ£¬ÓÐÒ»¸öÕë¶ÔtSQLtµÄ¿ÉÊÓ»¯½çÃæ½Ð×öSQL Test¡£tSQLtÓëSQL Server 2005 SP2¼°¸ü¸ß°æ±¾¼æÈÝ¡£
¡¡¡¡ÉùÃ÷£º
¡¡¡¡·²×¢Ã÷ΪÆäËûýÌåÀ´Ô´µÄÐÅÏ¢£¬¾ùΪתÔØ×ÔÆäËûýÌ壬תÔز¢²»´ú±í±¾ÍøÔÞͬÆä¹Ûµã£¬Ò²²»´ú±í±¾Íø¶ÔÆäÕæʵÐÔ¸ºÔð¡£ÄúÈô¶Ô¸Ã¸å¼þÄÚÈÝÓÐÈκÎÒÉÎÊ»òÖÊÒÉ£¬Çë¼´ÓëÐÂÃñÍøÁªÏµ£¬±¾Íø½«Ñ¸ËÙ¸øÄú»ØÓ¦²¢×ö´¦Àí¡£