首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

这是在公共方法中调用Junit断言的好方法吗?

这是一个关于在公共方法中调用Junit断言的问题。在公共方法中调用Junit断言是不推荐的做法,因为这样会导致测试结果不准确或者测试失败时无法正确捕获异常。

Junit断言应该在测试方法中使用,而不是在公共方法中。测试方法是专门用于验证代码逻辑的地方,而公共方法则是用于被其他代码调用的通用功能。

如果在公共方法中调用Junit断言,当断言失败时,测试框架无法正确捕获异常并标记测试失败,从而导致测试结果不准确。此外,公共方法可能会被多个测试方法调用,如果其中一个测试方法失败,其他测试方法也会受到影响,导致测试结果混乱。

为了正确使用Junit断言,建议将断言语句放在专门的测试方法中,以确保测试结果的准确性。同时,可以使用Junit提供的丰富的断言方法来验证代码的正确性,例如assertEquals、assertTrue、assertFalse等。

总结起来,不推荐在公共方法中调用Junit断言,而是应该将断言语句放在专门的测试方法中,以确保测试结果的准确性和可靠性。

相关链接:

  • Junit官方文档:https://junit.org/junit5/docs/current/user-guide/
  • 腾讯云测试产品:https://cloud.tencent.com/product/cts
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 怎么Excel截图?这是我常用几种方法

    Excel截图,常用方法包括Excel复制为图片、使用第三方截屏工具、使用键盘PrintScreen按钮等方法。...一、Excel中直接复制为图片 Excel,可以直接建数据复制为图片,具体如下图所以: 弹出对话框中选择如屏幕所示或如打印所示,如下图: 其中,选择如屏幕所示...,将得到屏幕显示样子,如果选择如打印效果,那么将是打印之后效果,比如你如果在电脑中设置了背景色(如我图中护眼豆沙色),如屏幕所示得到是带背景色结果,而打印效果则仍然是白色(无颜色)情况。...,而且截图后可编辑性很强,还支持滚动截屏……如下图所示: 三、使用键盘PrintScreen按钮 这是最古老截图方式了,即按键盘上PrintScreen(PrtSc),这种方式会将整个屏幕拷贝下来...如下图所示: 以上介绍了3可以Excel实现截图方法,各有优劣,实际工作按需要进行选择使用即可。 『后台发送消息“截图”可获取Snagit』

    5.4K30

    结构变量作为方法参数调用方法内部使用“坑”你遇到过

    很久没有写博了,今天一个同学问结构变量问题,问结构到底是传递值还是传递引用。查过MSDN都知道,结构默认是传递值,因此方法内部,结构值会被复制一份。...一般来说,数组参数传递是引用,那么数组元素呢?它是被复制还是被引用?如果结构数组元素象结构变量那样也是复制,那么对于方法调用内存占用问题,就得好好考虑下了。...Console.WriteLine("call by value Point[0]: X={0},Y={1}", arr[0].X, arr[0].Y); 结果: call by value Point[0]: X=1,Y=2 方法内部对结果数组元素改变无效...去掉用一个结构变量来引用结构数组成员,直接操作结构数组元素,来看看调用结果: static void TestStrucArray3( Point[] arr) {...往往有时候,我们为了敲代码方便,少写几个字,便定义一个临时变量去引用原来变量,而这种行为,对于操作结构变量,无疑是一个最大坑,这个坑,你遇到过

    2.5K100

    vuehtml标签{{}}内可以调用函数方法

    今天领导提个需求,要求金额上强制保留两位小数,本想着后台直接返回数据时,带着两位小数,前端只是做个显示作用,后台说保留了小数但在传输过程中去掉了,可能他们做了格式转化。...没办法了只能又是我们前端操作了,牵扯价钱太多了,很多时候又有for 循环,怎么办呢? 思路:{{}}里面的是一个表达式,可不可以是个函数呢?...经测试是可以,具体实现方法如下: 写一个公共强制保留两位小数js方法 function toDecimal2 (x) { var f = parseFloat(x) if (isNaN(f....' } while (s.length <= rs + 2) { s += '0' } return s } export default { toDecimal2 } main.js...引用: import newPrice from '.

    30.8K20

    关于使用MethodHandle子类调用祖父类重写方法探究

    关于使用MethodHandle子类调用祖父类重写方法探究 注:这个例子原本出现在周志明先生《深入理解Java虚拟机》--虚拟机字节码执行引擎章节,介于有读者朋友有疑问,这里基于Java代码层面解释一下...由于找到thinking方法是非static,需要一个隐式入参(也就是栈帧中局部变量表第0个位置this参数),java这叫做该方法接收者。...普通方法调用,这个this参数是虚拟机自动处理,表示是当前实例对象,我们方法可以直接使用。...但是我们这个MethodHandle例子,相当于是模拟了invoke*指令处理,手动调用invoke方法就需要指定这个"this"参数。...我觉得使用bindTo绑定方法接收者要比invoke方法传递更加友好,也更加符合程序员大众理解,invoke可以只专注方法显式入参。 然后再来说bindTo(this)this。

    9.5K30

    C++反射调用.NET(一) 反射调用第一个.NET类方法

    为什么要在C++调用.NET 一般情况下,我们常常会在.NET程序调用C/C++程序,使用P/Invoke方式进行调用,在编写代码代码时候,首先要导入DLL文件,然后根据C/C++头文件编写特殊...注意,本文说C++反射调用,不是对C++自身进行封装反射功能,而是C++/CLI代码反射调用.NET代码,原理上跟你.NET应用反射调用另外一个.NET程序集一个道理。...C++,类成员用 -> 符号调用,命名空间或者类静态成员,用::调用,例如上面的构造函数代码: Assembly^ ass = Assembly::LoadFrom(this->assemblyFile...C++/CLI中使用反射 反射调用第一个.NET类方法 下面的方法,将会反射调用 User类一个最简单方法 : public int GetUserID(string IdString){} 该方法只有一个一个参数和一个简单返回值...,使用委托能够简化我们反射调用并且有时候还能够提高效率,在这段代码,有1个要注意地方: Func::typeid 这是C++/CLI特殊语法,表示获取“句柄”类型类型

    3.2K100

    没想到吧,PHP 外部也可以调用私有方法

    一般来说, Class 外部是无法调用私有方法,这也是 Private 字面的意思,但是一些很特殊很特殊情况下,如果需要调用,是否可以呢?其实可以使用类反射来实现。...reflection->getClosure($object); } return call_user_func_array($callback, $args); } 简单解释一下,首先还是简单判断该方法是否存在...,接着获取对象方法放射,然后判断一下是不是公共方法,如果是公共就正常调用,不是则获取其闭包,最后使用回调方式来调用。...这个函数可以让你调用对象私有或者受保护方法,建议一些特殊情况下才使用。为了方便大家调用,新版 WPJAM Basic 也会集成该函数。----

    1K30

    单元测试

    每个开发人员都写过很多代码、函数,但是你能保证你写每个函数都能执行并且正常?   我们太多时间站在功能需求角度来审视我们代码,认为需求实现功能逻辑正常,我们就完成了自己使命。...功能逻辑固然重要这个也是我们目标。但是仅此而已,首先作为开发人员要知道,代码终极目标有两个:实现需求保证逻辑正常、保证代码质量和可维护性。...JUnit   测试驱动开发,所谓测试驱动开发,就是先写接口- >写测试->写实现->运行测试。当然这是一种理想情况,大多数我们开发还是先写实现,后写测试代码。...assertEquals(3, add(2, 1)); assertEquals(0, add(0, 0)); assertEquals(0, add(1, -1)); } 断言方法...而且不要使用公共配置,保持每个单元测试之间相互独立,测试时依赖Bean越多说明逻辑越复杂,就需要将代码重构。 Spring-boot-test maven依赖 <!

    1.7K30

    五年了,你还在用junit4

    junit5 JUnit52017年就发布了,你还在用junit4? 什么是junit5 与以前JUnit版本不同,JUnit 5由三个不同子项目的多个不同模块组成。...JUnit Jupiter是JUnit 5编写测试和扩展新型编程模型和[扩展模型][]组合.Jupiter子项目提供了TestEngine,用于平台上运行基于Jupiter测试。...所有JUnit Jupiter断言都是[org.junit.jupiter.Assertions]类静态方法。...没有限制嵌套层数,除非必要一般不建议使用超过3层,过于复杂层次结构会增加开发者理解用例关系难度 构造函数和方法依赖注入 之前所有JUnit版本,测试构造函数或方法都不允许有参数(至少不能使用标准...image-20210416232702304 @CsvFileSource使用classpathCSV文件,CSV文件每一行都会导致参数化测试一次调用 这种就完全把测试数据与测试方法隔离,达到更好解耦效果

    1.6K40

    深入了解Java方法作用域和生命周期,让你写出更高效代码,有两下子!

    类加载时  当类被加载时,方法也会被加载到内存。此时,会为方法分配一块栈空间。方法调用时,栈空间会被使用,存储方法定义局部变量和方法执行状态。...例如,publicMethod可以访问所有三个类变量,因为这个方法作用域大于或等于这些变量作用域。方法调用:尽管代码没有显示方法调用,但通常在类其他部分或另一个对象上调用这些方法。...对于testPublicMethod和testProtectedMethod,如果它们调用方法公共(public)或受保护(protected),那么这些调用是合法,并且可以测试执行。...预期测试行为:测试应该验证被调用方法行为是否符合预期。这通常涉及到断言(使用assertEquals、assertTrue等)来检查方法返回值或类状态。...通过本文深入剖析,我们了解到Java方法作用域和生命周期是确保程序正确性与效率关键因素。  首先,方法访问修饰符决定了方法可见性,这直接关系到我们不同类或包调用方法能力。

    16821

    浅谈基于 JUnit 单元测试

    3 内容 3.1 注解 @Test:该注释表示,用其附着公共无返回值方法(即用public修饰void类型方法 )可以作为一个测试用例; @Before:该注释表示,用其附着方法必须在类每个测试之前执行...TestCase父类; 测试方法需要遵循原则: public; void; 无方法参数; 方法名称必须以test开头 不同测试用例之间一定要保持完全独立性,不能有任何关联; 要掌握测试方法顺序...@Before注解:与 JUnit 3.X setUp()方法功能一样,每个测试方法之前执行,多用于初始化; @After注解:与 JUnit 3.X tearDown()方法功能一样,每个测试方法之后执行... JUnit 3.X ,还强制要求测试方法命名为testXxxx这种格式; JUnit 4.X ,则不要求测试方法命名格式,但作者还是建议测试方法统一命名为testXxxx这种格式,简洁明了...当一个类被注解为@RunWith, JUnit调用其中注解,以便运行测试类,而不使用内置 JUnit 运行方法

    1.1K50

    python接口测试:一个用例文件调用另一个用例文件定义方法

    简单说明 进行接口测试时,经常会遇到不同接口间传递参数情况,即一个接口某个参数需要取另一个接口返回值; 平常写脚本过程,我经常会在同一个py文件,把相关接口调用方法都写好,这样同一个文件能够很方便进行调用...; 后来随着功能增多,写其他py文件时,有时也会先调用某个相同接口来获取参数; 如果在每个py文件中都写一遍调用某个接口方法,会显得很啰嗦,也不好维护,并且以后万一提供数据那个接口发生变化...,需要调整很多地方; 所以,当我们一个用例py文件写好某个接口调用方法,后续如果在其他py文件也要用到这个接口返回值,则直接引用先前py文件定义接口调用方法即可。...:CreateActivity, 继承自unittest.TestCase 然后setUp方法中进行了一些必要初始化工作 最后创建了一个名为push_file_download方法,它作用就是调某个接口...id,这个id就是由test_A.py文件CreateActivity类下 push_file_download 方法生成; 所以这里要先调用push_file_download方法,对应第

    2.9K40

    一日一技:Python双下划线私有方法不能被调用原理

    不过你可能会强行解释为:子类 __init__里面,有一行 super().__init__(),这个地方可能子类还没有完全覆盖父类,所以先运行了父类方法。...这是因为,Python里面,类方法或者属性如果以双下划线开头,那么他们就是类私有方法,在被继承时候,即使子类有相同名字以双下划线开头属性或者方法也不会覆盖父类。...而且这些以双下划线开头私有方法或者属性,类内部可以自由被其他方法调用,但是实例对象里面是不能直接调用,如下图所示: 那么Python是如何实现这一点呢?...__calc_age就是子类 __calc_age。..._PeopleInfo__calc_age() # 强行调用子类私有方法 kingname._Info__calc_age() # 强行调用父类私有方法 运行效果如下图所示: ?

    1.7K30

    Java 中常见单元测试(一):JUnit

    这既包括开发者实现bug,也包括单元规范缺陷或缺失部分。 3. 易于重构 完善单元测试可以验证重构代码或者更新某些依赖情况下,确保整个系统依然能正常工作。...JUnit 是一个 Java 比较基础单元测试框架,主要为了单元测试而生,现在已经到了 JUnit 5, 这里也主要使用 JUnit 5,而不是 JUnit 4。... 5.6.3 test 第二步:生成测试代码 IDEA ,如果要为某个类或者方法写单元测试很简单...{ @Test void firstNonBlank() { // 调用方法得到第一个非空字符串,这里应该 a String shouldIsA = StringUtil.firstNonBlank...这样一个最简单单元测试就完成了,里面用到了:@Test (必需) 标记这是一个需要测试方法;@DispalyName (可选)为测试方法或者类起一个好看名字或者描述;Assertions 通过一系列断言来判定结果是否正确

    7.2K40

    JUnit4 简介

    测试方法我们可以使用传统System.out.println方法来输出,也可以使用各种日志框架来打印日志。还可以使用几个注解来初始化和清理测试方法用到数据。...这两个方法实际上是作为静态方法使用,所以初始化数据必须定义为静态。由于名字上可能引起混淆,所以JUnit5后两个注解重新命名为BeforeEach和AfterEach。...IDEA,直接点击测试类旁边绿色箭头即可运行。如果在Eclipse,需要点击运行按钮,然后选择作为JUnit运行。...断言 除了测试方法中使用输出语句之外,还可以使用JUnit提供断言,来判断程序是否符合某个条件,如果断言为真,测试通过,如果断言为假,测试失败。...断言org.junit.Assert类,有一组以assert开头方法用于断言测试,基本上涵盖了大部分需求。下面列举几个常用,如果有需要的话可以直接调用assertFail方法断言直接失败。

    86910
    领券