How to prevent data deletion when using DBUnitHow do I efficiently iterate over each entry in a Java Map?How do I call one constructor from another in Java?How do I read / convert an InputStream into a String in Java?When to use LinkedList over ArrayList in Java?How do I generate random integers within a specific range in Java?How do I determine whether an array contains a particular value in Java?How do I convert a String to an int in Java?How do I fix android.os.NetworkOnMainThreadException?DBUnit and Spring Boot - Data may not be imported or existing when requesting in an integration testWhy my dataset is not committed to my Oracle database using DBUnit and @DatabaseSetup annotation
Integer addition + constant, is it a group?
Escape a backup date in a file name
Why are there no referendums in the US?
How can I kill an app using Terminal?
How do I find the solutions of the following equation?
Increase performance creating Mandelbrot set in python
Is `x >> pure y` equivalent to `liftM (const y) x`
Is this apparent Class Action settlement a spam message?
Opposite of a diet
Is the destination of a commercial flight important for the pilot?
Gears on left are inverse to gears on right?
How do scammers retract money, while you can’t?
Crossing the line between justified force and brutality
Roman Numeral Treatment of Suspensions
How can a function with a hole (removable discontinuity) equal a function with no hole?
What is the difference between "behavior" and "behaviour"?
Purchasing a ticket for someone else in another country?
How to safely derail a train during transit?
How long to clear the 'suck zone' of a turbofan after start is initiated?
How to check is there any negative term in a large list?
Do sorcerers' Subtle Spells require a skill check to be unseen?
What is paid subscription needed for in Mortal Kombat 11?
How do we know the LHC results are robust?
Is exact Kanji stroke length important?
How to prevent data deletion when using DBUnit
How do I efficiently iterate over each entry in a Java Map?How do I call one constructor from another in Java?How do I read / convert an InputStream into a String in Java?When to use LinkedList over ArrayList in Java?How do I generate random integers within a specific range in Java?How do I determine whether an array contains a particular value in Java?How do I convert a String to an int in Java?How do I fix android.os.NetworkOnMainThreadException?DBUnit and Spring Boot - Data may not be imported or existing when requesting in an integration testWhy my dataset is not committed to my Oracle database using DBUnit and @DatabaseSetup annotation
I use Spring Boot with liquibase.
The problem is that when there is already data in a specific table in the database and I try to add more data to this table in DBUnit tests, then DBUnit deletes all the data and inserts only its own data.
I will give an example, I have already inserted five authors in the database. Test without DBUnit:
@RunWith(SpringRunner.class)
@SpringBootTest
public class AuthorsManagerTest
@Autowired
private AuthorsManager authorsManager;
@Test
public void getAllAuthors()
List<Author> authors = authorsManager.getAllAuthors().collect(Collectors.toList());
assertFalse(authors.isEmpty());
assertEquals(5, authors.size()); // 5!
The other test I use DBUnit to add one more, but all five are deleted and only those authors who are in DBUnit are inserted:
@RunWith(SpringRunner.class)
@SpringBootTest
@TestExecutionListeners(
TransactionalTestExecutionListener.class,
DependencyInjectionTestExecutionListener.class,
DbUnitTestExecutionListener.class
)
@DatabaseSetup("/dbunit/books_authors.xml") // add dbunit file
public class AuthorsManagerTest
@Autowired
private AuthorsManager authorsManager;
@Test
public void getAllAuthors()
List<Author> authors = authorsManager.getAllAuthors().collect(Collectors.toList());
assertFalse(authors.isEmpty());
assertEquals(1, authors.size()); // only one!
DBUnit file:
<dataset>
<Authors id="200" name="My Author" />
</dataset>
How to configure DBUnit so that it does not delete the data that is already present, but only supplements it?
Because there are test conditions when you only need to add one more entry to the already existing ones
java spring-boot spring-test dbunit spring-test-dbunit
add a comment |
I use Spring Boot with liquibase.
The problem is that when there is already data in a specific table in the database and I try to add more data to this table in DBUnit tests, then DBUnit deletes all the data and inserts only its own data.
I will give an example, I have already inserted five authors in the database. Test without DBUnit:
@RunWith(SpringRunner.class)
@SpringBootTest
public class AuthorsManagerTest
@Autowired
private AuthorsManager authorsManager;
@Test
public void getAllAuthors()
List<Author> authors = authorsManager.getAllAuthors().collect(Collectors.toList());
assertFalse(authors.isEmpty());
assertEquals(5, authors.size()); // 5!
The other test I use DBUnit to add one more, but all five are deleted and only those authors who are in DBUnit are inserted:
@RunWith(SpringRunner.class)
@SpringBootTest
@TestExecutionListeners(
TransactionalTestExecutionListener.class,
DependencyInjectionTestExecutionListener.class,
DbUnitTestExecutionListener.class
)
@DatabaseSetup("/dbunit/books_authors.xml") // add dbunit file
public class AuthorsManagerTest
@Autowired
private AuthorsManager authorsManager;
@Test
public void getAllAuthors()
List<Author> authors = authorsManager.getAllAuthors().collect(Collectors.toList());
assertFalse(authors.isEmpty());
assertEquals(1, authors.size()); // only one!
DBUnit file:
<dataset>
<Authors id="200" name="My Author" />
</dataset>
How to configure DBUnit so that it does not delete the data that is already present, but only supplements it?
Because there are test conditions when you only need to add one more entry to the already existing ones
java spring-boot spring-test dbunit spring-test-dbunit
add a comment |
I use Spring Boot with liquibase.
The problem is that when there is already data in a specific table in the database and I try to add more data to this table in DBUnit tests, then DBUnit deletes all the data and inserts only its own data.
I will give an example, I have already inserted five authors in the database. Test without DBUnit:
@RunWith(SpringRunner.class)
@SpringBootTest
public class AuthorsManagerTest
@Autowired
private AuthorsManager authorsManager;
@Test
public void getAllAuthors()
List<Author> authors = authorsManager.getAllAuthors().collect(Collectors.toList());
assertFalse(authors.isEmpty());
assertEquals(5, authors.size()); // 5!
The other test I use DBUnit to add one more, but all five are deleted and only those authors who are in DBUnit are inserted:
@RunWith(SpringRunner.class)
@SpringBootTest
@TestExecutionListeners(
TransactionalTestExecutionListener.class,
DependencyInjectionTestExecutionListener.class,
DbUnitTestExecutionListener.class
)
@DatabaseSetup("/dbunit/books_authors.xml") // add dbunit file
public class AuthorsManagerTest
@Autowired
private AuthorsManager authorsManager;
@Test
public void getAllAuthors()
List<Author> authors = authorsManager.getAllAuthors().collect(Collectors.toList());
assertFalse(authors.isEmpty());
assertEquals(1, authors.size()); // only one!
DBUnit file:
<dataset>
<Authors id="200" name="My Author" />
</dataset>
How to configure DBUnit so that it does not delete the data that is already present, but only supplements it?
Because there are test conditions when you only need to add one more entry to the already existing ones
java spring-boot spring-test dbunit spring-test-dbunit
I use Spring Boot with liquibase.
The problem is that when there is already data in a specific table in the database and I try to add more data to this table in DBUnit tests, then DBUnit deletes all the data and inserts only its own data.
I will give an example, I have already inserted five authors in the database. Test without DBUnit:
@RunWith(SpringRunner.class)
@SpringBootTest
public class AuthorsManagerTest
@Autowired
private AuthorsManager authorsManager;
@Test
public void getAllAuthors()
List<Author> authors = authorsManager.getAllAuthors().collect(Collectors.toList());
assertFalse(authors.isEmpty());
assertEquals(5, authors.size()); // 5!
The other test I use DBUnit to add one more, but all five are deleted and only those authors who are in DBUnit are inserted:
@RunWith(SpringRunner.class)
@SpringBootTest
@TestExecutionListeners(
TransactionalTestExecutionListener.class,
DependencyInjectionTestExecutionListener.class,
DbUnitTestExecutionListener.class
)
@DatabaseSetup("/dbunit/books_authors.xml") // add dbunit file
public class AuthorsManagerTest
@Autowired
private AuthorsManager authorsManager;
@Test
public void getAllAuthors()
List<Author> authors = authorsManager.getAllAuthors().collect(Collectors.toList());
assertFalse(authors.isEmpty());
assertEquals(1, authors.size()); // only one!
DBUnit file:
<dataset>
<Authors id="200" name="My Author" />
</dataset>
How to configure DBUnit so that it does not delete the data that is already present, but only supplements it?
Because there are test conditions when you only need to add one more entry to the already existing ones
java spring-boot spring-test dbunit spring-test-dbunit
java spring-boot spring-test dbunit spring-test-dbunit
asked Mar 8 at 11:27
FreeOnGooFreeOnGoo
129110
129110
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Try using following:
@DatabaseSetup("/dbunit/books_authors.xml", type = DatabaseOperation.INSERT)
sinse you are not setting any type
, you are using the default value for that field, which is CLEAN_INSERT
.
Source: JavaDoc
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55062294%2fhow-to-prevent-data-deletion-when-using-dbunit%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Try using following:
@DatabaseSetup("/dbunit/books_authors.xml", type = DatabaseOperation.INSERT)
sinse you are not setting any type
, you are using the default value for that field, which is CLEAN_INSERT
.
Source: JavaDoc
add a comment |
Try using following:
@DatabaseSetup("/dbunit/books_authors.xml", type = DatabaseOperation.INSERT)
sinse you are not setting any type
, you are using the default value for that field, which is CLEAN_INSERT
.
Source: JavaDoc
add a comment |
Try using following:
@DatabaseSetup("/dbunit/books_authors.xml", type = DatabaseOperation.INSERT)
sinse you are not setting any type
, you are using the default value for that field, which is CLEAN_INSERT
.
Source: JavaDoc
Try using following:
@DatabaseSetup("/dbunit/books_authors.xml", type = DatabaseOperation.INSERT)
sinse you are not setting any type
, you are using the default value for that field, which is CLEAN_INSERT
.
Source: JavaDoc
answered Mar 8 at 11:34
LoreloreloreLorelorelore
2,30261829
2,30261829
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55062294%2fhow-to-prevent-data-deletion-when-using-dbunit%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown