Friday, 13 March 2020

TestNG: assertNotSame: Asserts that two objects are not refer to same object

‘assertNotSame’ method asserts that two objects do not refer to the same objects. If they do, an AssertionError is thrown.

AssertNotSameTest.java
package com.sample.app.assertions;

import static org.testng.Assert.assertNotSame;

import org.testng.annotations.Test;

public class AssertNotSameTest {

 @Test
 public void test1() {
  Object obj1 = new Object();
  Object obj2 = new Object();

  assertNotSame(obj1, obj2);

 }

 @Test
 public void test2() {
  Object obj1 = new Object();
  Object obj2 = obj1;

  assertNotSame(obj1, obj2, "obj1 and obj2 are refering to same object");

 }
}

Run AssertNotSameTest.java, you will see below messages in console.

[RemoteTestNG] detected TestNG version 7.0.0
PASSED: test1
FAILED: test2
java.lang.AssertionError: obj1 and obj2 are refering to same object expected not same [java.lang.Object@371a67ec] but found [java.lang.Object@371a67ec]
 at org.testng.Assert.fail(Assert.java:97)
 at org.testng.Assert.failSame(Assert.java:957)
 at org.testng.Assert.assertNotSame(Assert.java:937)
 at com.sample.app.assertions.AssertNotSameTest.test2(AssertNotSameTest.java:23)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)
 at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:584)
 at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:172)
 at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
 at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:804)
 at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:145)
 at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
 at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
 at java.util.ArrayList.forEach(ArrayList.java:1257)
 at org.testng.TestRunner.privateRun(TestRunner.java:770)
 at org.testng.TestRunner.run(TestRunner.java:591)
 at org.testng.SuiteRunner.runTest(SuiteRunner.java:402)
 at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:396)
 at org.testng.SuiteRunner.privateRun(SuiteRunner.java:355)
 at org.testng.SuiteRunner.run(SuiteRunner.java:304)
 at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
 at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
 at org.testng.TestNG.runSuitesSequentially(TestNG.java:1180)
 at org.testng.TestNG.runSuitesLocally(TestNG.java:1102)
 at org.testng.TestNG.runSuites(TestNG.java:1032)
 at org.testng.TestNG.run(TestNG.java:1000)
 at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
 at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
 at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)


===============================================
    Default test
    Tests run: 2, Failures: 1, Skips: 0
===============================================


===============================================
Default suite
Total tests run: 2, Passes: 1, Failures: 1, Skips: 0
===============================================




Previous                                                    Next                                                    Home

No comments:

Post a Comment