คำถามติดแท็ก testing

การทดสอบซอฟต์แวร์เป็นกิจกรรมใด ๆ ที่มุ่งประเมินคุณลักษณะหรือความสามารถของโปรแกรมหรือระบบและพิจารณาว่าตรงตามผลลัพธ์ที่ต้องการ

6
Junit: แยกการทดสอบการรวมและการทดสอบหน่วย
ฉันได้รับการทดสอบ Junit มาเป็นจำนวนมาก แต่การทดสอบเหล่านี้ (นอกเหนือจากการทดสอบส่วนใหญ่ไม่ได้ผล) เป็นส่วนผสมของการทดสอบหน่วยจริงและการทดสอบการรวม (ต้องใช้ระบบภายนอกฐานข้อมูล ฯลฯ ) ดังนั้นฉันจึงพยายามคิดหาวิธีแยกพวกมันออกจากกันเพื่อที่ฉันจะได้รันการทดสอบหน่วยได้อย่างรวดเร็วและการทดสอบการรวมหลังจากนั้น ตัวเลือกคือ .. แยกเป็นไดเรกทอรีแยกต่างหาก ย้ายไปที่ Junit4 (จาก v3) และใส่คำอธิบายประกอบคลาสเพื่อแยกคลาส ใช้หลักการตั้งชื่อไฟล์เพื่อบอกว่าคลาสคืออะไรเช่น AdapterATest และ AdapterAIntergrationTest 3 มีปัญหาว่า Eclipse มีตัวเลือก "เรียกใช้การทดสอบทั้งหมดในโครงการ / แพ็คเกจหรือโฟลเดอร์ที่เลือก" ดังนั้นจึงยากมากที่จะเรียกใช้การทดสอบการรวมระบบ 2: เสี่ยงที่นักพัฒนาอาจเริ่มเขียนการทดสอบการรวมในชั้นเรียนทดสอบหน่วยและมันก็ยุ่งเหยิง 1: ดูเหมือนจะเป็นทางออกที่ดีที่สุด แต่ลำไส้ของฉันบอกว่าต้องมีทางออกที่ดีกว่านี้ นั่นคือคำถามของฉันคุณจะแยกการทดสอบการรวมและการทดสอบหน่วยที่เหมาะสมได้อย่างไร

13
จะตรวจสอบช่องทำเครื่องหมายใน Capybara ได้อย่างไร?
ฉันใช้ Rspec และ Capybara ฉันจะเขียนขั้นตอนในการตรวจสอบได้checkboxอย่างไร? ฉันพยายามcheckตามค่า แต่ไม่พบcheckboxไฟล์. ฉันไม่แน่ใจว่าต้องทำอย่างไรเนื่องจากฉันมี ID เดียวกันและมีค่าต่างกัน นี่คือรหัส: <input id="cityID" type="checkbox" style="text-align: center; opacity: 0;" value="61" name="cityID"> <input id="cityID" type="checkbox" style="text-align: center; opacity: 0;" value="62" name="cityID"> <input id="cityID" type="checkbox" style="text-align: center; opacity: 0;" value="63" name="cityID">

12
JUnit vs TestNG [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน10 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ ในที่ทำงานเรายังคงใช้ JUnit 3 เพื่อทำการทดสอบของเรา เรากำลังพิจารณาที่จะเปลี่ยนไปใช้ JUnit 4 สำหรับการทดสอบใหม่ที่กำลังเขียนขึ้น แต่ตอนนี้ฉันจับตาดู TestNG มาระยะหนึ่งแล้ว คุณมีประสบการณ์อะไรบ้างกับ JUnit 4 หรือ TestNG และดูเหมือนว่าจะทำงานได้ดีกว่าสำหรับการทดสอบจำนวนมาก การมีความยืดหยุ่นในการทดสอบการเขียนเป็นสิ่งสำคัญสำหรับเราเช่นกันเนื่องจากการทดสอบการใช้งานของเราครอบคลุมในแง่มุมกว้างและจำเป็นต้องเขียนด้วยวิธีต่างๆเพื่อให้ได้ผลลัพธ์ ข้อสอบเก่าจะไม่ถูกเขียนซ้ำเนื่องจากพวกเขาทำงานได้ดี สิ่งที่ฉันอยากเห็นในการทดสอบใหม่คือความยืดหยุ่นในวิธีการเขียนการทดสอบการยืนยันอย่างเป็นธรรมชาติการจัดกลุ่มและการดำเนินการทดสอบที่กระจายได้ง่าย
125 java  testing  junit  testng 

7
การทดสอบและความปลอดภัยในฤดูใบไม้ผลิ: วิธีจำลองการตรวจสอบสิทธิ์
ฉันพยายามหาวิธีทดสอบหน่วยว่า URL ของคอนโทรลเลอร์ของฉันมีการรักษาความปลอดภัยอย่างเหมาะสมหรือไม่ ในกรณีที่มีคนเปลี่ยนแปลงสิ่งต่างๆรอบตัวและลบการตั้งค่าความปลอดภัยโดยไม่ได้ตั้งใจ วิธีการควบคุมของฉันมีลักษณะดังนี้: @RequestMapping("/api/v1/resource/test") @Secured("ROLE_USER") public @ResonseBody String test() { return "test"; } ฉันตั้งค่า WebTestEnvironment ดังนี้: import javax.annotation.Resource; import javax.naming.NamingException; import javax.sql.DataSource; import org.junit.Before; import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.web.FilterChainProxy; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ContextConfiguration; …

3
การทดสอบภายใน Google Play Store ไม่สามารถเริ่มเปิดตัวได้
ฉันกำลังจะเริ่มเปิดตัวแอปพลิเคชันเวอร์ชันแรกให้กับผู้ทดสอบภายใน แต่ปุ่มSTART ROLLOUT TO INTERNAL TESTถูกปิดใช้งานและฉันไม่เห็นข้อความแสดงข้อผิดพลาดหรือคำเตือนอื่น ๆ ที่นี่ ใครช่วยบอกฉันทีว่าเกิดอะไรขึ้น? แนบภาพหน้าจอ

9
test process.env กับ Jest
ฉันมีแอปที่ขึ้นอยู่กับตัวแปรด้านสิ่งแวดล้อมเช่น: const APP_PORT = process.env.APP_PORT || 8080; และฉันต้องการทดสอบตัวอย่างเช่น: APP_PORT สามารถตั้งค่าได้โดยตัวแปร node env หรือexpressแอปที่กำลังทำงานบนพอร์ตที่ตั้งค่าด้วยprocess.env.APP_PORT ฉันจะบรรลุเป้าหมายนี้ด้วย Jest ได้อย่างไร? ฉันสามารถตั้งค่าprocess.envตัวแปรเหล่านี้ก่อนการทดสอบแต่ละครั้งได้หรือไม่หรือฉันควรล้อเลียนมันบ้าง

8
จะโหลดข้อมูล db: seed ลงในฐานข้อมูลทดสอบโดยอัตโนมัติได้อย่างไร?
ฉันกำลังพยายามใช้วิธีการโหลดข้อมูลเมล็ดพันธุ์มาตรฐานใหม่ใน Rails 2.3.4+ ซึ่งเป็นไฟล์ db:seedงานคราด ฉันกำลังโหลดข้อมูลคงที่ซึ่งจำเป็นสำหรับแอปพลิเคชันของฉันเพื่อให้ทำงานได้อย่างถูกต้อง วิธีใดเป็นวิธีที่ดีที่สุดในdb:seedการเรียกใช้งานก่อนการทดสอบดังนั้นข้อมูลจึงถูกเติมไว้ล่วงหน้า

10
จะรัน Rails console ในสภาพแวดล้อมการทดสอบและโหลด test_helper.rb ได้อย่างไร?
พื้นหลัง: ฉันมีปัญหาบางอย่างกับอัญมณี "Factory Girl" ของ Thoughtbot ซึ่งใช้ในการสร้างวัตถุเพื่อใช้ในหน่วยและการทดสอบอื่น ๆ ฉันต้องการไปที่คอนโซลและเรียกใช้ Factory Girl ที่แตกต่างกันเพื่อตรวจสอบว่าเกิดอะไรขึ้น ตัวอย่างเช่นฉันอยากไปที่นั่นทำ ... >> Factory(:user).inspect ฉันรู้ว่าคุณสามารถเรียกใช้คอนโซลในสภาพแวดล้อมที่แตกต่างกัน ... $ script / console RAILS_ENV = test แต่เมื่อฉันทำเช่นนั้นคลาสโรงงานจะไม่สามารถใช้ได้ ดูเหมือนว่าจะtest_helper.rbไม่ได้รับการโหลด ฉันลองrequireโทรหลายครั้งรวมถึงหนึ่งสายที่มีเส้นทางสัมบูรณ์test_helper.rbแต่ก็ล้มเหลวในทำนองนี้: $ script/console RAILS_ENV=test >> require '/Users/ethan/project/contactdb/test/test_helper.rb' Errno::ENOENT: No such file or directory - /Users/ethan/project/contactdb/config/environments/RAILS_ENV=test.rb Grr โอ๊ะ

30
วิธีเลือกตัวเลือกในการทดสอบไม้โปรแทรกเตอร์แบบหล่นลง js e2e
ฉันกำลังพยายามเลือกตัวเลือกจากเมนูแบบเลื่อนลงสำหรับการทดสอบ e2e เชิงมุมโดยใช้ไม้โปรแทรกเตอร์ นี่คือข้อมูลโค้ดของตัวเลือกการเลือก: <select id="locregion" class="create_select ng-pristine ng-invalid ng-invalid-required" required="" ng-disabled="organization.id !== undefined" ng-options="o.id as o.name for o in organizations" ng-model="organization.parent_id"> <option value="?" selected="selected"></option> <option value="0">Ranjans Mobile Testing</option> <option value="1">BeaverBox Testing</option> <option value="2">BadgerBox</option> <option value="3">CritterCase</option> <option value="4">BoxLox</option> <option value="5">BooBoBum</option> </select> ฉันเหนื่อย: ptor.findElement(protractor.By.css('select option:1')).click(); สิ่งนี้ทำให้ฉันมีข้อผิดพลาดต่อไปนี้: ระบุสตริงที่ไม่ถูกต้องหรือผิดกฎหมาย Build info: version: '2.35.0', …

19
ฉันจะเรียกใช้ NUnit ในโหมดดีบักจาก Visual Studio ได้อย่างไร
ฉันเพิ่งสร้างกรอบการทดสอบสำหรับ C # ที่ฉันได้ดำเนินการไป ฉันได้ตั้งค่า NUnit และโปรเจ็กต์ใหม่ภายในพื้นที่ทำงานของฉันเพื่อทดสอบส่วนประกอบ ทั้งหมดทำงานได้ดีถ้าฉันโหลดการทดสอบหน่วยจาก Nunit (v2.4) แต่ฉันมาถึงจุดที่จะมีประโยชน์มากในการทำงานในโหมดดีบักและตั้งค่าจุดพัก ฉันได้ลองทำตามคำแนะนำจากหลาย ๆ คำแนะนำซึ่งทั้งหมดแนะนำให้เปลี่ยนคุณสมบัติ 'Debug' ของโครงการทดสอบ: Start external program: C:\Program Files\NUnit 2.4.8\bin\nunit-console.exe Command line arguments: /assembly: <full-path-to-solution>\TestDSP\bin\Debug\TestDSP.dll ฉันใช้เวอร์ชันคอนโซลที่นั่น แต่ได้ลองเรียก GUI ด้วย ทั้งคู่ให้ข้อผิดพลาดเดียวกันกับฉันเมื่อฉันพยายามและเริ่มการดีบัก: Cannot start test project 'TestDSP' because the project does not contain any tests. เป็นเพราะปกติฉันโหลด \ DSP.nunit ลงใน Nunit …

2
โฟลเดอร์ src / androidtest และ src / test ต่างกันอย่างไร
ในโปรเจ็กต์ใน Android Studio โดยค่าเริ่มต้นจะมีโฟลเดอร์ทดสอบสองโฟลเดอร์ ประการแรกคือsrc/androidTest. โฟลเดอร์นี้มีอยู่แล้วใน Android Studio เวอร์ชันก่อนหน้า อย่างไรก็ตามตอนนี้มีโฟลเดอร์ทดสอบใหม่ตามค่าเริ่มต้นsrc/testและการพึ่งพาใหม่testCompile 'junit: junit: 4.12'ในbuild.gradle. ฉันใช้โฟลเดอร์ใดในการทดสอบ อะไรคือความแตกต่างระหว่างทั้งสอง?

10
ฉันจะวัดความเร็วของโค้ดที่เขียนด้วย PHP ได้อย่างไร? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิด6 เดือนที่แล้ว . ปรับปรุงคำถามนี้ ฉันจะบอกได้อย่างไรว่าคลาสใดของจำนวนมาก (ซึ่งทั้งหมดทำงานเหมือนกัน) ดำเนินการเร็วกว่า มีซอฟต์แวร์วัดผลหรือไม่

10
JUnit: วิธีหลีกเลี่ยง "ไม่มีวิธีที่รันได้" ในคลาสเครื่องมือทดสอบ
ฉันเปลี่ยนมาใช้ JUnit4.4 จาก JUnit3.8 ฉันเรียกใช้การทดสอบโดยใช้มดการทดสอบทั้งหมดของฉันทำงานได้สำเร็จ แต่คลาสยูทิลิตี้การทดสอบล้มเหลวโดยมีข้อผิดพลาด "ไม่มีวิธีที่รันได้" รูปแบบที่ฉันใช้คือการรวมคลาสทั้งหมดที่มีชื่อ * ทดสอบ * ไว้ในโฟลเดอร์ทดสอบ ฉันเข้าใจว่านักวิ่งไม่พบวิธีการใด ๆ ที่มีคำอธิบายประกอบด้วยแอตทริบิวต์ @Test แต่ไม่มีคำอธิบายประกอบดังกล่าวเนื่องจากชั้นเรียนเหล่านี้ไม่ใช่การทดสอบ น่าแปลกที่เมื่อเรียกใช้การทดสอบเหล่านี้ใน eclipse ก็ไม่ได้บ่นเกี่ยวกับคลาสเหล่านี้ ใน JUnit3.8 ไม่ใช่ปัญหาเลยเนื่องจากคลาสยูทิลิตี้เหล่านี้ไม่ได้ขยาย TestCase ดังนั้นนักวิ่งจึงไม่พยายามเรียกใช้งาน ฉันรู้ว่าฉันสามารถยกเว้นคลาสเฉพาะเหล่านี้ในเป้าหมาย junit ใน ant script ได้ แต่ฉันไม่ต้องการเปลี่ยนไฟล์บิวด์ในทุกคลาสยูทิลิตี้ใหม่ที่ฉันเพิ่ม ฉันยังสามารถเปลี่ยนชื่อชั้นเรียนได้ (แต่การตั้งชื่อชั้นเรียนให้ดีเป็นความสามารถที่อ่อนแอที่สุดของฉันเสมอ :-)) มีวิธีแก้ปัญหาที่สวยงามสำหรับปัญหานี้หรือไม่?
118 java  ant  junit  testing 

6
“ Stub” คืออะไร?
ดังนั้นตามปณิธานปีใหม่ของฉันเพื่อเข้าสู่ TDD มากขึ้นตอนนี้ฉันเริ่มทำงานกับRhino Mocksมากขึ้น สิ่งหนึ่งที่ฉันกระตือรือร้นที่จะทำคือการทำให้แน่ใจว่าฉันเข้าใจสิ่งที่ฉันกำลังทำอยู่ดังนั้นฉันจึงต้องการตรวจสอบความเข้าใจของฉันเกี่ยวกับสิ่งที่ฉันได้เห็นจนถึงตอนนี้ (และฉันคิดว่ามันจะดีถ้าได้ขึ้นมาที่นี่ในฐานะ ทรัพยากร). "Stub" คืออะไร?

13
จะทดสอบหน่วยด้วยการตั้งค่าต่างๆใน Django ได้อย่างไร?
มีกลไกง่ายๆในการลบล้างการตั้งค่า Django สำหรับการทดสอบหน่วยหรือไม่? ฉันมีผู้จัดการในโมเดลของฉันที่ส่งคืนอ็อบเจ็กต์ล่าสุดจำนวนหนึ่ง จำนวนออบเจ็กต์ที่ส่งคืนถูกกำหนดโดยการตั้งค่า NUM_LATEST สิ่งนี้อาจทำให้การทดสอบของฉันล้มเหลวหากมีคนเปลี่ยนการตั้งค่า ฉันจะลบล้างการตั้งค่าsetUp()และเรียกคืนในภายหลังได้tearDown()อย่างไร หากเป็นไปไม่ได้มีวิธีใดบ้างที่ฉันสามารถแก้ไขวิธีการหรือล้อเลียนการตั้งค่าได้ แก้ไข:นี่คือรหัสผู้จัดการของฉัน: class LatestManager(models.Manager): """ Returns a specific number of the most recent public Articles as defined by the NEWS_LATEST_MAX setting. """ def get_query_set(self): num_latest = getattr(settings, 'NEWS_NUM_LATEST', 10) return super(LatestManager, self).get_query_set().filter(is_public=True)[:num_latest] ผู้จัดการใช้settings.NEWS_LATEST_MAXเพื่อแบ่งชุดแบบสอบถาม getattr()จะถูกใช้เพียงเพื่อให้เริ่มต้นควรตั้งค่าได้อยู่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.