Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Behavior-driven development Automated Test Proposal #113

Closed
StriderHND opened this issue Dec 17, 2018 · 7 comments
Closed

Behavior-driven development Automated Test Proposal #113

StriderHND opened this issue Dec 17, 2018 · 7 comments
Labels
discussion topics open for discussion

Comments

@StriderHND
Copy link
Contributor

StriderHND commented Dec 17, 2018

Hello,

As for looking into the future of the project for the iOS development of the dev.to app, I really like to bring to the table what direction we should take as far as case testing for new functionality or the current code base for the app.

There is XCTests,
Xcode native Case Testing Tool its pretty great but it takes some time to learn if you are new to native iOS development.

And there is Quick this is more friendly to those are more related to javascript development it's pretty similar to (JEST / Chai) and have pretty nice features that would make to make testing more easy. here is the installation guide if you wanna make some tests

I would really like to discuss what coverage percent should be acceptable (I would like to propose that 90% it's a good threshold, 100% is desired)

And any other rules should be applied how the test should be wrote and structured.

Any other proposals are welcome!

@StriderHND StriderHND changed the title Automated Test Proposal behavior-driven development Automated Test Proposal Dec 17, 2018
@StriderHND StriderHND changed the title behavior-driven development Automated Test Proposal Behavior-driven development Automated Test Proposal Dec 17, 2018
@maestromac maestromac added the discussion topics open for discussion label Dec 19, 2018
@benhalpern
Copy link
Contributor

Given where we are currently at with this project: A shortage in needed features, I could see putting a good deal of focus into testing and have a high test coverage goal.

Quick strikes me as possibly better for the project because we're not a super experienced native company, but I could see the benefit of XCTests as well because this project itself is definitely very native in what it's supposed to do. (More responsibilities for native bridge than lots of different complicated features at the moment)

I'm cool with you rolling with whatever you feel best and we'll get behind. @chickdan and maybe @Ceri-anne may have some other thoughts. Happy to follow with wherever we land.

We also need to get Travis working properly again, cc: @maestromac

@Ceri-anne
Copy link
Contributor

I don’t have any experience with Quick but the app is reasonably simple so XCTest and XCUITest should be pretty straight forward.

I wrote a test for the navigation policy in ViewControllerTests and it didn’t need much setup.

Happy to learn something new though :-)

@StriderHND
Copy link
Contributor Author

Given where we are currently at with this project: A shortage in needed features, I could see putting a good deal of focus into testing and have a high test coverage goal.

Quick strikes me as possibly better for the project because we're not a super experienced native company, but I could see the benefit of XCTests as well because this project itself is definitely very native in what it's supposed to do. (More responsibilities for native bridge than lots of different complicated features at the moment)

I'm cool with you rolling with whatever you feel best and we'll get behind. @chickdan and maybe @Ceri-anne may have some other thoughts. Happy to follow with wherever we land.

We also need to get Travis working properly again, cc: @maestromac

Yes that's the main proposal I know that we are not a a super experienced native company that's why I look into Quick.

I don’t have any experience with Quick but the app is reasonably simple so XCTest and XCUITest should be pretty straight forward.

I wrote a test for the navigation policy in ViewControllerTests and it didn’t need much setup.

Happy to learn something new though :-)

Yes the project right now is very straightforward so XCTest and XCUITest should do the work but if we get into more complex features in the feature XCTestAsserts are not very clear in some ways that's why is the proposal of Quick.

@chickdan have any thoughts about this?

@chickdan
Copy link
Contributor

Admittedly I don't have a lot of experience testing iOS to be familiar with the drawbacks of XCTests. I glanced over the two frameworks and I agree we should at least use Nimble but I'm not sold on Quick, at least not yet.

@StriderHND
Copy link
Contributor Author

Thanks for the input guys, after give more thought to this I think we should stick with XCTest for the simplicity that offers to setup.

Most of the test right now are not so complex, but even when the native side gets more responsibility we can extend over that.

@benhalpern
Copy link
Contributor

Sounds great @StriderHND

@StriderHND
Copy link
Contributor Author

StriderHND commented Jan 10, 2019

Hello,

To follow up this proposal, I'll be uploading soon the guidelines, so we can discuss them and make changes if need, is nothing complex but discussion is needed.

@benhalpern I'll be sending to you the draft I've for you to review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion topics open for discussion
Projects
None yet
Development

No branches or pull requests

5 participants