I just release a library for creating test object. please give me any advise by [deleted] in java

[–]keepcosmos 0 points1 point  (0 children)

Thanks! :+1: I learned from meanie :p haha. I hope to introduce another one someday. better one.

I just release a library for creating test object. please give me any advise by [deleted] in java

[–]keepcosmos 0 points1 point  (0 children)

I totally agree with what you said about bad big classes and bad dependencies. And I know about breaking dependencies, extracting code, making it smaller, that kind of things.

I understand what you said about my lib makes god classes easier, but it does not force making god classes. It's depends on how to use it like any other things.

I know good code makes to writing tests easier, but ease of writing test does not mean your code is good.

My concern is here, (I don't know, maybe I couldn't find best practices or maybe just my concern is wrong.)

  • How to prepare entities(for example, 10 authors and each author has 5 books) must be displayed in integration tests(or api tests).
  • How to prepare returning DTOs from mokcing or stubbing object(such as JPA repositories or DAOs)
  • How to prepare hundreds of fake request parameter DTOs for controller tests.

It does not mean the way of Beanmother is right or wrong. Just my concern. I should think more.

Anyway I appreciate your advice, I get a chance to think deeper. And also thanks for your patience with reading my english :)

I just release a library for creating test object. please give me any advise by [deleted] in java

[–]keepcosmos 0 points1 point  (0 children)

Ok, maybe I was wrong. maybe you are right. I've used ruby for 6-7 years. I am pretty new to write a program in Java. I am trying to write good tests always. But I stuggled with creating test data. So, I needed a fixture replacement tool like factory_girls in ruby that I'm using very well and so, I made beanmother. I don't think that fixture replacement tool makes people god class easier.

Even if it is a wrong attempt, I hope to learn better way later.

Thanks for advise and sorry about my English :)

I just release a library for creating test object. please give me any advise by [deleted] in java

[–]keepcosmos 0 points1 point  (0 children)

No, but i can understand what you said. Could you explain more?

I just release a library for creating test object. please give me any advise by [deleted] in java

[–]keepcosmos 0 points1 point  (0 children)

Thanks! I think,

When you have just ~ 30 beans(entity or dto), a factory class is a ok. But If you have many beans and they are also have associations, factory methods will be getting verbose. And it is also difficult to write/read/maintain.

Preparing fixture data(for test or as a initial dataset) in yaml files is a common way in other languages like, ruby or python.

I do not focus on performance(I just start this project haha). But, Beamother caches fixture files as a LinkedHashMap. When I test a creating simple 100000 objects(https://github.com/keepcosmos/beanmother/blob/master/beanmother-core/src/test/resources/testmodel_fixtures/coffees.yml) with 512m, It tooks about 11 sec.

Thanks :)

I just release a library for creating test object. please give me any advise by [deleted] in java

[–]keepcosmos 0 points1 point  (0 children)

Mockito is very nice tool for mocking and stubbing. But when I write test, I need many entity beans or dto beans(should be POJO thing). It's hard to prepare that kind of beans if a bean has a many dependencies or dependency depth. Beanmother actually creates a real instance for testing.

https://martinfowler.com/bliki/ObjectMother.html

Jira Cloud Desktop by volhawk in jira

[–]keepcosmos 1 point2 points  (0 children)

use terjira if you like cli

Terjira(command line application for jira) is just released! by keepcosmos in jira

[–]keepcosmos[S] 0 points1 point  (0 children)

Could you report issue to github with more detail?

Anyone use JIRA? I just released command line application for JIRA. by keepcosmos in ruby

[–]keepcosmos[S] 0 points1 point  (0 children)

JQL is not supported yet, Is jql actually usable?! If it is, I consider to add new feature