# |
Dec 14th 2017, 10:53 |
birdy247 |
:+1: |
# |
Dec 14th 2017, 10:52 |
neon1024 |
Or mock it |
# |
Dec 14th 2017, 10:52 |
neon1024 |
Use `new Entity()` |
# |
Dec 14th 2017, 10:52 |
birdy247 |
i.e. new PaymentOptions([... |
# |
Dec 14th 2017, 10:52 |
birdy247 |
Would it be ok, to use ->get() in my table test to get the entity, or better to setup the entity in the test itself |
# |
Dec 14th 2017, 10:51 |
birdy247 |
@neon1024 I am trying to test a Table method. I pass the table method an entity |
# |
Dec 14th 2017, 10:45 |
birdy247 |
@neon1024 SOLID advice :) |
# |
Dec 14th 2017, 10:31 |
neon1024 |
Follow Chris, https://twitter.com/grmpyprogrammer |
# |
Dec 14th 2017, 10:26 |
neon1024 |
That’s the balance |
# |
Dec 14th 2017, 10:26 |
neon1024 |
But not pre-optimisation! |
# |
Dec 14th 2017, 10:26 |
neon1024 |
Then you start seeing the code smells as you’re creating them, allowing for more pro-active refactoring |
# |
Dec 14th 2017, 10:26 |
neon1024 |
Doing some TDD helps. As it makes you focus on creating smaller more concise methods which do simple things well |
# |
Dec 14th 2017, 10:25 |
neon1024 |
Unit testing is actually really easy, but the problem is that people write terrible code and then have trouble trying to write tests for it. When in fact if writing the unit test is really hard, it’s indicative of a code smell |
# |
Dec 14th 2017, 10:25 |
neon1024 |
It’ll also avoid you drifting into mocking hell, and inadvertently writing integration tests |
# |
Dec 14th 2017, 10:24 |
neon1024 |
Making your unit tests easier to write, your system under test smaller, and your tests more predictable |
# |
Dec 14th 2017, 10:24 |
neon1024 |
At least then when you come to test, you can easily pass in fixed dependencies |
# |
Dec 14th 2017, 10:23 |
neon1024 |
https://en.wikipedia.org/wiki/SOLID_(object-oriented_design) |
# |
Dec 14th 2017, 10:23 |
neon1024 |
Remember SOLID |
# |
Dec 14th 2017, 10:23 |
neon1024 |
Never reach out for dependencies |
# |
Dec 14th 2017, 10:22 |
birdy247 |
@neon1024 so pass them in as options rather than looking them up internally |
# |
Dec 14th 2017, 10:18 |
neon1024 |
Otherwise you’ll make writing unit tests very hard |
# |
Dec 14th 2017, 10:18 |
neon1024 |
If they’re that interdependent then you need to refactor |
# |
Dec 14th 2017, 10:11 |
birdy247 |
as Method B relies on Method C and Method D (which I am stubbing) |
# |
Dec 14th 2017, 10:10 |
birdy247 |
I am not sure if using too many stubs is considered wrong |
# |
Dec 14th 2017, 10:08 |
birdy247 |
@neon1024, I have 1/ unit tested Method B, 2/ unit test Method A with a stub for B |
# |
Dec 14th 2017, 10:07 |
neon1024 |
If you’re asking the question, then you already know the answer |
# |
Dec 14th 2017, 10:04 |
birdy247 |
^^ in the context of testing Method A |
# |
Dec 14th 2017, 10:04 |
birdy247 |
If I am testing method A, who's outcome is affected by an internal call to Method B, would this be a candidiate for mocking Method B? |
# |
Dec 14th 2017, 09:56 |
meowcate |
That means I'll need to do many separated calls to mysql. Maybe there is a better way, just asking. |
# |
Dec 14th 2017, 09:54 |
meowcate |
As far as I know with the book, to save many entites I need to put the datas in an array, but for the translations I have to use `$entity->translation(lang)->set(data))` to save each translation in a loop |
# |
Dec 14th 2017, 09:52 |
meowcate |
Is there a way I can save many entities at once with their translations, or do I need to save each entity and its translations though a loop ? |
# |
Dec 14th 2017, 09:49 |
neon1024 |
But not a plugin as my admin area will not be implemented into a different project |
# |
Dec 14th 2017, 09:49 |
neon1024 |
As I like the code separation |
# |
Dec 14th 2017, 09:49 |
neon1024 |
I use a prefix personally |
# |
Dec 14th 2017, 09:48 |
psantos |
so, you would use prefix or scope for admin area? |
# |
Dec 14th 2017, 09:47 |
neon1024 |
Some word in IRC translates into a mention here in slack somehow, it’s quite confusing :P |
# |
Dec 14th 2017, 09:46 |
neon1024 |
For some reason here in slack we see “but thats does not @work" |
# |
Dec 14th 2017, 09:46 |
joopm |
should? |
# |
Dec 14th 2017, 09:46 |
neon1024 |
Does not what? |
# |
Dec 14th 2017, 09:46 |
neon1024 |
work |
# |
Dec 14th 2017, 09:46 |
joopm |
but thats does not work |