例如,
Sub CopyThenPaste()
Dim wb1 As Workbook
Set wb1 = ActiveWorkbook
Dim wsAtualizaABS As Worksheet
Set wsAtualizaABS = wb1.Worksheets("AtualizaABS")
Dim wb2 As Workbook
Dim Destino As String
Dim Dados As String
Dim ABSid As String
Dim Pasta As String
On Error GoTo Errorcatch
'States the number of the last row that contains relevant information to the Macro
ultima_linha = wsAtualizaABS.Range("e2").End(xlDown).Row
For i = 2 To ultima_linha
Destino = wsAtualizaABS.Cells(i, 6).Value
Dados = wsAtualizaABS.Cells(i, 7).Value
ABSid = wsAtualizaABS.Cells(i, 5).Value
'********************
'**** This block of code can probably be executed outside the loop,
'**** unless the path to each workbook is different
'Asks the user what is the folder where VBA should look for the Workbook with the new information
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Por favor escolha uma pasta"
.AllowMultiSelect = False
If .Show = -1 Then Pasta = .SelectedItems(1)
End With
'********************
'Opens the new workbook, copies and then pastes the data in the current Workbook
Set wb2 = Workbooks.Open(Filename:=Pasta & "\" & ABSid & ".xls")
wb2.Sheets(Dados).Cells.Copy Destination:=wb1.Worksheets(Destino).Range("A1")
wb2.Close
Next
Exit Sub
Errorcatch:
MsgBox Err.Description
End Sub
我想使用JUnit从package com.spring.app;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* Handles requests for the application home page.
*/
@Controller
public class HomeController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(final Model model) {
model.addAttribute("msg", "SUCCESS");
return "hello";
}
}
测试model
的属性及其值。我可以将返回类型更改为home()
以使其成为可能,但我想使用ModelAndView
因为它更简单。但这不是必须的。
无论如何检查String
而不更改model
的返回类型?或者它无法帮助?
答案 0 :(得分:6)
您可以使用Spring MVC Test:
mockMvc.perform(get("/"))
.andExpect(status().isOk())
.andExpect(model().attribute("msg", equalTo("SUCCESS"))) //or your condition
here是完全举例说明的例子
答案 1 :(得分:1)
我尝试使用副作用来回答这个问题。
@Test
public void testHome() throws Exception {
final Model model = new ExtendedModelMap();
assertThat(controller.home(model), is("hello"));
assertThat((String) model.asMap().get("msg"), is("SUCCESS"));
}
但我对此仍然不是很有信心。如果这个答案有一些缺陷,请留下一些评论来改进/贬低这个答案。
答案 2 :(得分:0)
你可以使用Mockito。
示例:
@RunWith(MockitoJUnitRunner.class)
public HomeControllerTest {
private HomeController homeController;
@Mock
private Model model;
@Before
public void before(){
homeController = new HomeController();
}
public void testSomething(){
String returnValue = homeController.home(model);
verify(model, times(1)).addAttribute("msg", "SUCCESS");
assertEquals("hello", returnValue);
}
}