如果我有这样的主要内容:
Option Explicit
Sub CreateSheet()
Dim i As Long
Dim SheetNamesArr() As String
ReDim SheetNamesArr(100) ' redim to large size, will optimize size later
For i = 1 To ThisWorkbook.Sheets.Count
SheetNamesArr(i - 1) = ThisWorkbook.Sheets(i).Name
Next i
ReDim Preserve SheetNamesArr(0 To i - 2) ' resize to size of populated sheet names
With ThisWorkbook
' using Match, means if IsError sheet name not found in current array of sheet names >> you can add it
If IsError(Application.Match("ClientList", SheetNamesArr, 0)) Then
.Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = "ClientList"
End If
' same as previous Match
If IsError(Application.Match("ProviderList", SheetNamesArr, 0)) Then
.Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = "ProviderList"
End If
End With
End Sub
我有一些@RestControllers注释类。要使用@WebMvcTest带注释的类测试它们,我必须在这些测试类中加入以下内容:
@SpringBootApplication
public class MyMain implements CommandLineRunner
{
@Autowired
private MyService myService;
public static void main(String[] args)
{
SpringApplication.run(MyMain.class, args);
}
@Override
public void run(String... args)
{
myService.doSomething();
}
}
我没有使用此服务,所以我是否必须在所有@WebMvcTest注释类中添加它,或者有更好的方法来实现它?
我对以下bean也有同样的问题:
@MockBean
private MyService myService;
答案 0 :(得分:0)
我认为你应该决定是否要在你想要完成的任务中使用注释。
更清楚:如果你想创建一个执行http请求的测试,那么你应该使用@WebMvcTest,因为自动配置了诸如spring security和MockMvc(official documentation)等有用的东西。
如果您只想测试没有http部分的特定方法,那么您可能不需要它。
总结:关于使用(或不使用)注释的决定将与您想要执行的测试类型相关,而不是与您的依赖性有关。