我们编写代码时,一定会反复调试保证它能够编译通过。如果是编译没有通过的代码,没有任何人会愿意交付给自己的老板。但代码通过编译,只是说明了它的语法正确;我们却无法保证它的语义也一定正确,没有任何人可以轻易承诺这段代码的行为一定是正确的。
幸运,单元测试会为我们的承诺做保证。编写单元测试就是用来验证这段代码的行为是否与我们期望的一致。有了单元测试,我们可以自信的交付自己的代码,而没有任何的后顾之忧。
单元测试越早越好,早到什么程度?XP开发理论讲究TDD,即测试驱动开发,先编写测试代码,再进行开发。在实际的工作中,可以不*分强调先什么后什么,重要的是高效和感觉舒适。先编写产品函数的框架,然后编写测试函数,针对产品函数的功能编写测试用例,然后编写产品函数的代码,每写一个功能点都运行测试,随时补充测试用例。所谓先编写产品函数的框架,是指先编写函数空的实现,有返回值的随便返回一个值,编译通过后再编写测试代码,这时,函数名、参数表、返回类型都应该确定下来了,所编写的测试代码以后需修改的可能性比较小。PRECISION DYNAMICS A2015-S72 SOLENOID VALVE ORIFICE: 3/32 WATTS: 6
F/S AMERIDRIVES 015015-012 F 201.25
ASTRODYNE CORP. 91DR1002 REV. A
NIB MAC 82A-FA-000-TM-DAAP-1DA SOLENOIDVALVE, TM-DAAP-1DA,5.4WATTS 110-120VAC
HITACHI ANSI-50 CONNECTINGLINKS ANSI 50
YASKAWA CKI-NS300D-D50 INTERFACE CABLE 0.5
NIB API INSTRUMENTSCO. MOD. NO. 110758,PART NO. 65 8314 0100, 0-1000
WESTINGHOUSE STYLE 1875289 RELAY OVERCURRENT MODEL C09-C511BA1
VAISALAHM46670SP STAINLESSSTEEL SINTERED FILTERS
F/S AGILENT TECHNOLOGIES 0905-1473 BAL SEAL 0.25'' I.D. 09051473
AGILENT TECHNOLOGIES 01078-87307 CAPILLARY SEAT 500UL F/HP 1050 LC
CHEMINERT VICI C2-20R0-WA5 ROTOR SEAL FOR 10 PORT
SIEMENS 656-834POWERMITE TOP 656834, CV: 0.5 1/2" 5-10SPG VP656
INTECOLOR CORP. P/N:103239 REV-2
NIB LOVEJOY C 2.5 HUB 2-3/8 5/8X5/16KW 69790400099
MTS ASSY G-SERIES ANA TRIM PROG BOX
ARO 75678 FOLLOWERS
NIB CUTLER-HAMMER H1116
TORRINGTON B-1416
SWAGELOK B-600-2-8 BRASS MALE ELBOW FITTINGS 3/8" TUBE X 1/2" MALE
GAYESCO 61-TE-0137 OUTLET BOX ENCLOSURE 2110655 W/ 1.5FTTEMPERATURE
GENERIC TK27867 F BOARD TK27867F, TK27867
CARTERSQUARELINE K81J-KIT-100 "AA"
SIGNET3-8011 INTEGRAL MOUNTING KIT 1/2" NPT PORTS 38011 198864500
ALLEN BRADLEY 800MR-FXP16X PUSH BUTTON SER D WITH 800M-XA CONTACT SER B
MDT BIOLOGIC CASTLE 58398 STERILIZERDOOR GASKET 20" X 20" 61301605016
NIB ASCO 302-925 REBUILD KIT 8321 AC
NIB HONEYWELL ST795A1031
3M 78-8070-1615-5
ALEMITE 383837-1HEATER
FACTORY SEALED EATONCUTLER-HAMMER 3TA225FDK TERMINAL KIT 624B100G23
JOHN CRANE B943-24 SEAL KIT 2.250'',XF501O58118-8
RAINBOW TECHNOLOGIES INC SRB04661
NIB ASCO 302857 REBUILD KIT 8314 AC
NIB SAFETY VISION SV-DVR-LB2
SCHNEIDER SQUARED 9999-PL1 CONTACTOR+STARTER
HOFFMAN ENCLOSURES A6044CHEMCSS
NIB LENZ 11/4" PRESSURE GAUGES0-100 PSI
SIEMENS TA5P600 CIRCUIT BREAKER LUG KIT/ WIRE CONNECTORS
AGASTAT 2412AFT TIMING RELAY 120V, 60C,.5/10MIN., 240VAC, 1/4HP, 10A
MDT BIOLOGIC COMPANY 26456
NIB GATES P64-8MGT-30-2517 POWERGRIP GT2SPROCKET 77083064
OZ GEDNEY CH 3/4" CLAMPS
NIB ALLEN BRADLEY Z21113
VIDEO JET 356043 CORDSET M/F 6PIN
ASCO JKF8215G10SOLENOID VALVE 120/60 - 110/50, 3/8 PIPE, 10.1 WATTS, 50PSI
NICKEL-METAL HYDRIDE BATTERIES 990004-0002, NIMH 1250 mAH STK120205, QTY: 11
NIB CHICAGORAWHIDE 31568 OIL SEAL 80MM X 125MM X 13MM HMS43R