我正在使用mockwebserver编写一个测试套件。我从官方 github 页面输入了所有依赖项。每次我尝试运行我收到的测试Unresolved reference: mockwebserver
没有导入选项。进口时的字体不是红色的。Android Studio 不提示任何内容。除了与未解析的引用相关的错误之外,没有其他错误。
构建.gradle
plugins {
id 'com.android.application'
id 'kotlin-android'
id("org.jetbrains.kotlin.android.extensions")
}
android {
compileSdk 31
useLibrary("android.test.runner")
useLibrary("android.test.base")
useLibrary("android.test.mock")
defaultConfig {
applicationId "com.example.moviespotter"
minSdk 21
targetSdk 31
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
buildFeatures {
viewBinding = true
compose true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
composeOptions {
kotlinCompilerExtensionVersion compose_version
kotlinCompilerVersion '1.5.21' …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用junit测试用例根据工资对员工对象进行排序.
这是我的员工排序课
package day4;
import day4.Employee;
public class EmployeesInfoWithSalary {
private Employee[] employee;
private int numberOfEmployees;
public EmployeesInfoWithSalary(Employee[] employee, int numberOfEmployees) {
super();
this.employee = employee;
this.numberOfEmployees = numberOfEmployees;
}
public Employee[] getSortBasedOnSalary() {
String temp;
for (int iterator = 0; iterator < numberOfEmployees; iterator++) {
int minSalary = employee[iterator].getSalary();
int index = iterator;
for (int comparator = iterator; comparator < numberOfEmployees; comparator++) {
if (employee[comparator].getSalary() < minSalary) {
index = comparator;
minSalary = employee[comparator].getSalary();
}
}
employee[index].setSalary(employee[iterator].getSalary());
employee[iterator].setSalary(minSalary);
temp …Run Code Online (Sandbox Code Playgroud) 嗨,谢谢你花时间回答我的问题.
我的根文件夹中有两个文件(〜/).Main.Java和TestMain.java.Main.java编译并运行顺利.另一方面,TestMain没有.TestMain基本上是一个测试类,我使用JUnit来处理不同的场景.我在TestMain中实例化Main,但问题是编译器找不到Main.java.
这是代码:
user@linuxbox ~ $ javac -cp junit-4.10.jar TestMain.java
TestMain.java:8: error: cannot find symbol
Main mainClass = new Main();
^
symbol: class Main
location: class TestMain
TestMain.java:8: error: cannot find symbol
Main luckyStrings = new Main();
^
symbol: class Main
location: class TestMain
2 errors
Run Code Online (Sandbox Code Playgroud)
如何让Main类可用于MainTest.java类?非常感谢!
当你有多个@Test Annotation时,有谁能告诉我Junit中@Test注释的评估顺序是什么?我尝试使用以下示例,但没有找到任何特定的顺序.您可以考虑以下示例来解释您的答案.
package test_Cases;
import org.junit.Test;
public class First_test_case {
@Test
public void apsTest(){
System.out.println("THIS IS FIRST TEST CAES.");
//selenium code
}
@Test
public void appletestTest(){
System.out.println("THIS IS second TEST CAES.");
//selenium code
}
@Test
public void aboutestTest(){
System.out.println("THIS IS third TEST CAES.");
//selenium code
}
@Test
public void dtestTest(){
System.out.println("THIS IS fourth TEST CAES.");
//selenium code
}@Test
public void etestTest(){
System.out.println("THIS IS fifth TEST CAES.");
//selenium code
}@Test
public void ftestTest(){
System.out.println("THIS IS sixth TEST CAES.");
//selenium code
} …Run Code Online (Sandbox Code Playgroud) 我有一个基本的Mule ESB应用程序,其基本流程如下:"Http入站端点(请求 - 响应模式) - >记录器 - > HTTP出站端点(请求 - 响应模式) - > Java组件"
查询:如何编写junit测试用例来测试上述流程.可以看出,我有一个HTTP出站端点(请求 - 响应模式),它指的是一些大型应用程序,它执行大量处理然后返回响应.我是否会模拟此HTTP出站端点?我不想单独测试HTTP出站端点(请求 - 响应模式).我想对整个流程进行junit测试.
提前致谢.Jai Shammi Raj Kulkarni
我有一个基于ant和ivy的项目,并且我还使用ivy来加载依赖项。由于某些原因,使用ant 1.9时,这些项目之一已开始报告一个奇怪的失败:
junit.framework.AssertionFailedError: No tests found in name.of.my.Clazz
Run Code Online (Sandbox Code Playgroud)
这很奇怪,因为我在类中使用JUnit4 @Test批注来批注测试方法,因此应该找到很多测试用例。
我正在编写一些JUnit测试,它们从第三方库扩展了一个类.超类扩展TestCase,所以根据定义,我的子类也是如此.
在我的子类中,我用前缀编写测试方法,test然后执行这些方法.
但是,出于多种原因,我们希望转移到JUnit 4(其中一个原因是我们不希望将测试方法作为前缀test)
我尝试使用JUnit 4 @Test注释编写新测试,但这些方法不会被执行.
例如:
public abstract class UtilityClassFromThirdPartyLibrary extends TestCase {
}
public class MyTestClass extends UtilityClassFromThirdPartyLibrary {
public void testThisMethodIsInvokedBecauseItStartsWithTest {
}
@Test
public void thisMethodDoesNotGetInvoked {
}
}
Run Code Online (Sandbox Code Playgroud)
不扩展第三方测试类不是一种选择.(对于它的价值,它是Spring,它AbstractXmlFlowExecutionTests反过来扩展了其他Spring类,最终扩展TestCase.超类中的方法提供了如此多的设置和样板,没有扩展它们只是为了使用JUnit 4会适得其反)
如上所述,我们使用JUnit 4 @Test注释的动机之一是它允许我们更好地命名我们的方法.我们的观点是这个词test是多余的,因为该类显然是一个测试类,并且该方法带有注释@Test.我们以BDD样式编写测试,因此我们的测试方法名称描述了被测单元应该做什么 - 我们的命名约定是public void shouldDoSomething()
有没有人知道是否有可能混合' TestCase使用JUnit 4的方法扩展JUnit 3的''匹配测试类@Test?如果是这样,怎么样?
谢谢
内森
目前,我将测试用例重复两次,因此如何将结果打印为2个单独的结果。
我尝试使用内置函数创建文本,但是,它现在确实显示“成功”或“失败”。
目前,我有以下代码:
public class UnitTestRunner {
static JUnitCore junitCore;
static Class<?> testClasses;
public static void main(String[] args) {
System.out.println("Running Junit Test Suite.");
Result result = JUnitCore.runClasses(TestSuite.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println("Successful: " + result.wasSuccessful() +
" ran " + result.getRunCount() + " tests");
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码可以正常工作,但是我不知道如何在JUnit中实现它。
有人可以帮忙演示一下如何将此代码实现到JUnit测试用例中。
我想为我的UserController课程写一个JUnit测试(Java单元),但是我不知道该怎么做。
UserController:
@RestController
@RequestMapping(CompositeController.ENTRY)
public class UserController {
protected final static String ENTRY = "/demo/v1/composite";
private UserService userService;
@Autowired
public UserController(UserService userService) {
this.userService = userService;
}
@GetMapping(path = "/isadmin")
public ResponseEntity<Boolean> checkadmin(@RequestHeader String nickname){
return userService.checkifadmin(nickname);
}
Run Code Online (Sandbox Code Playgroud)
UserService:
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service
public interface UserService {
ResponseEntity<Boolean> checkifadmin(String nickname);
}
Run Code Online (Sandbox Code Playgroud)
UserServiceImpl:
public class UserServiceImpl implements UserService {
private final String userBaseAdress = "http://localhost:7777";
private final String userBasePath = "/demo/v1/user";
public ResponseEntity<Boolean> checkifadmin(String nickname) {
HttpHeaders headers …Run Code Online (Sandbox Code Playgroud) 我正在研究JUNIT,在这里我需要验证一种方法是否被调用。所以我添加了下面的代码
verify(mock).method();
Run Code Online (Sandbox Code Playgroud)
当我运行时,我低于异常
org.mockito.exceptions.verification.TooManyActualInvocations:
mock.method();
Wanted 1 time:
But was 36 times:
Run Code Online (Sandbox Code Playgroud)
我知道它被调用了36次,但只想调用一次。帮助我解决此问题
junit4 ×10
java ×6
junit ×5
junit3 ×2
ant ×1
compilation ×1
esb ×1
ivy ×1
mockito ×1
mule ×1
mule-studio ×1
okhttp ×1
spring-mvc ×1
unit-testing ×1