prefacio
Propósito de la escritura:
Para ayudarlo a probar y verificar algún contenido de segunda apertura sin iniciar el servicio de resina, use las pruebas unitarias y otras funciones tanto como sea posible para implementar algunas pruebas del código de back-end en IDEA, evitando así la necesidad de reiniciar la resina repetidamente. Pérdida innecesaria de tiempo para los servicios.
1. Condiciones previas
-
Tire el proyecto en gitee a la IDEA local.
-
Dirección de albergue: https://gitee.com/llhtrunk/ecology_dycs/tree/master
-
Configure la biblioteca de clase de ecología/classbean, WEB-INF/lib necesaria.
-
Se garantiza que las bibliotecas de clases y las clases del sistema a las que se hace referencia en el sistema se pueden referenciar normalmente para el desarrollo y la compilación normal.
2. Modificar el archivo de configuración
2.1 Modificar la configuración de la conexión a la base de datos
修改为实际要连接的ecology数据库
2.2 Modificar log4j
将log4j中的log日志文件路径修改为绝对路径的具体位置
3. Agregar dependencia junit
4. Clase de prueba
Pruebe si la operación de la base de datos de consulta es efectiva.
package com.weavernorth;
import org.junit.Before;
import org.junit.Test;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.GCONST;
import weaver.hrm.User;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* @Classname Test
* @Description TODO
* @Version 1.0.0
* @Date 2022/7/21 0021 16:45
* @Created by llh
*/
public class TestAction {
@Before
//1、设置好根路径
public void before() throws Exception {
GCONST.setServerName("ecology");
GCONST.setRootPath("D:\\mywork\\Ecology9单元测试\\ecology\\");
String hostname = "Unknown";
try {
InetAddress addr = InetAddress.getLocalHost();
hostname = addr.getHostName();
} catch (UnknownHostException ex) {
System.out.println("Hostname can not be resolved");
}
}
@Test
//2、执行测试
public void test() {
BaseBean baseBean = new BaseBean();
RecordSet rs = new RecordSet();
//执行数据库查询
rs.executeQuery("select * from hrmresource ");
while (rs.next()) {
System.out.println("lastname = " + rs.getString("lastname"));
}
//读取配置文件
String weaver = rs.getPropValue("weaver", "ecology.url");
//打印日志
baseBean.writeLog("weaver", weaver);
//构建用户
User user = new User(1);
//读取用户信息
String loginid = user.getLoginid();
System.out.println("loginid = " + loginid);
}
}
El resultado de ejecutar el código:
5. Utilice la configuración de correo del sistema para enviar correo
Configurar el servicio de envío para envíos masivos
@Test
public void test2() throws Exception {
//收件人,邮箱地址,多地址时用英文逗号分隔
String sendTo = "[email protected]";
//邮件标题
String emailTitle = "这是个标题";
//邮件内容
String emailInfo = "这是邮件内容";
//邮件附件ids
String emailFileIds = "";
EmailWorkRunnable ewr = new EmailWorkRunnable(sendTo, emailTitle, emailInfo);
ewr.setImagefileids(emailFileIds.toString());
//result:true投递成功,false投递失败
boolean emailSendResult = ewr.emailCommonRemind();
System.out.println("emailSendResult = " + emailSendResult);
}
Captura de pantalla enviada correctamente
6. Enviar mensaje
Actualmente se puede enviar la prueba con éxito, pero no se ve el mensaje correspondiente en el usuario correspondiente de ecología, y no se encuentra el motivo.
@Test
public void testMessages() throws Exception {
// 消息来源
MessageType messageType = MessageType.newInstance(100);
// 接收人id 必填
Set<String> userIdList = new HashSet<>();
userIdList.add("4");
// 标题
String title = "标题";
// 内容
String context = "内容";
// PC端链接
String linkUrl = "https://www.baidu.com";
// 移动端链接
String linkMobileUrl = "https://m.baidu.com";
try {
MessageBean messageBean = Util_Message.createMessage(messageType, userIdList, title, context, linkUrl, linkMobileUrl);
// 创建人id
messageBean.setCreater(1);
// 需要修改消息为已处理等状态时传入,表示消息最初状态为待处理
//message.setBizState("0");
//消息来源code +“|”+业务id需要修改消息为已处理等状态时传入
//messageBean.setTargetId("121|22");
boolean store = Util_Message.store(messageBean);
new BaseBean().writeLog("消息提醒结果=" + store);
} catch (IOException e) {
e.printStackTrace();
}
}