java 基于属性的测试Java与Quickcheck,为SoCraTes Soltau 2016的PBT会议制作的代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 基于属性的测试Java与Quickcheck,为SoCraTes Soltau 2016的PBT会议制作的代码相关的知识,希望对你有一定的参考价值。
import org.junit.*;
import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
public class FizzBuzzTDDTest {
@org.junit.Test
public void it_returns_1_for_1() {
assertThat(FizzBuzzTDD.fizzBuzz(1)).isEqualTo("1");
}
@Test
public void it_returns_2_for_2() {
assertThat(FizzBuzzTDD.fizzBuzz(2)).isEqualTo("2");
}
}
public class FizzBuzzTDD {
public static String fizzBuzz(int i) {
if(i%15 == 0) return "FizzBuzz";
if(i%3 == 0) return "Fizz";
if(i%5 == 0) return "Buzz";
return String.valueOf(i);
}
}
import com.tngtech.java.junit.dataprovider.*;
import org.junit.*;
import org.junit.runner.*;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(DataProviderRunner.class)
public class FizzBuzzParametrizedTest {
@DataProvider
public static Object[][] times3() {
return new Object[][]{{3},{6}};
}
@Test
@UseDataProvider("times3")
public void it_returns_fizz_when_times_3(int n) {
assertThat(FizzBuzzTDD.fizzBuzz(n)).isEqualTo("Fizz");
}
@DataProvider
public static Object[][] times5() {
return new Object[][]{{5},{10}};
}
@Test
@UseDataProvider("times5")
public void it_returns_buzz_when_times_5(int n) {
assertThat(FizzBuzzTDD.fizzBuzz(n)).isEqualTo("Buzz");
}
@DataProvider
public static Object[][] times15() {
return new Object[][]{{15},{30}};
}
@Test
@UseDataProvider("times15")
public void it_returns_fizzbuzz_when_times_15(int n) {
assertThat(FizzBuzzTDD.fizzBuzz(n)).isEqualTo("FizzBuzz");
}
}
import com.pholser.junit.quickcheck.*;
import com.pholser.junit.quickcheck.runner.*;
import org.junit.runner.*;
import static org.assertj.core.api.Java6Assertions.*;
import static org.hamcrest.core.IsEqual.*;
import static org.junit.Assume.*;
@RunWith(JUnitQuickcheck.class)
public class FizzBuzzPropertiesTest {
@Property
public void multiple_of_three_contains_fizz(int n) {
assumeThat(n%3, equalTo(0));
assertThat(FizzBuzzTDD.fizzBuzz(n)).contains("Fizz");
}
@Property
public void multiple_of_five_contains_buzz(int n) {
assumeThat(n%5, equalTo(0));
assertThat(FizzBuzzTDD.fizzBuzz(n)).contains("Buzz");
}
}
以上是关于java 基于属性的测试Java与Quickcheck,为SoCraTes Soltau 2016的PBT会议制作的代码的主要内容,如果未能解决你的问题,请参考以下文章
Agitar 和 Quickcheck 基于属性的测试有啥区别?
基于Java+HttpClient+TestNG的接口自动化测试框架------ 小结与展望
基于Java+HttpClient+TestNG的接口自动化测试框架------ 小结与展望
Selenium Webdriver UI层自动化测试基础与进阶篇-基于java语言
基于 Java Web 的毕业设计选题管理平台--测试报告与用户手册
基于JAVA语言的selenium测试基础总结