leetcode
题目:130被围绕的区域
思路:
1.遍历所有边界。
2.如果遇到o,就开始bfs像外边延展,可以将这时候的o设置为e,然后再遍历所有的内部点,将e修改为o,将原生的o修改为x。
题解:
class Solution {
int m;
int n;
public void solve(char[][] board) {
m=board.length; //4
n=board[0].length;//6
for(int i=0;i<m;i++){
dfs(board,i,0);//
dfs(board,i,n-1);
}
for(int i=1;i<n-1;i++){
dfs(board,0,i);
dfs(board,m-1,i);
}
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(board[i][j]=='A')board[i][j]='O';
else if(board[i][j]=='O')board[i][j]='X';
}
}
}
public void dfs(char[][] board,int i,int j){
if(i<0||i>=m||j<0||j>=n||board[i][j]!='O')return;
board[i][j]='A';
dfs(board,i+1,j);
dfs(board,i,j+1);
dfs(board,i-1,j);
dfs(board,i,j-1);
}
}
这题调试花的时间太长了,最终发现出来的错误极其可笑。就是在if里的判断条件,将n写成了m。所以以后还是要给变量好好命名不要弄混了。
Spring测试
Spring的测试:
切面测试。并非纯粹的单元测试。而是将系统的一部分抽离出来,进行测试。
Mockito :有能力模仿出任意一个假对象。
利用SpringBootTest注解就可以调用对应的Spring资源。
如果调用服务的时候,有间接调用的时候,SpringIoc就可以帮我们自动注入的对象即是我们的mockBean了。
controller的测试:MockMVC模拟发出的测试。越往上写测试mock越多。
JSONPath用来进行测试。
jacco用来展示测试结果。
所有的测试工作都要保证保存起来。就是自己的测试应该是用代码来实现的。
注意调试是尽量用log而不是用debug。
Mock Test的学习
发现讲解mock的很少,还是自己看文档吧。将mock类打开,就可以看到Mock对应的项目。
参考文档见:https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html。
maven项目的目录结构还挺重要的,自己用IDEA的手动创建test,发现没有对应的目录结构生成不了。就ruoyi那个项目,没有test文件。
似乎mock也只是学习模仿一下别人的代码即可。
标签:学习,int,每日,mockito,dfs,20221214,board,测试,mock From: https://www.cnblogs.com/slowsail/p/16983718.html