由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 求教一个Java TTD 测试驱动的 面试题
相关主题
job openning-Test and Quality Engineer,MySQL Database AdministratorEmergency.... Got this letter from HR
openings: Software Engineer @ Will sponsor H1B for the right candidate发帖铭记深刻的Java教训。
John Muir Health 招聘Lead/manager Product Engineer从来不用TWTR的同学申请TWTR应该做哪些准备
还是我发一篇师兄的回信吧,关于Ph.D.找工作【2019年2月13日 333 个股票的短期谷底高峰预测】 (转载)
绝望ing...大虾麻烦帮我看看这封信【2019年2月20日 334 个股票的短期谷底高峰预测】 (转载)
大家帮我看看这个面试之后的回信什么意思?有戏?【2019年2月22日 333 个股票的短期谷底高峰预测】 (转载)
还没发简历直接就给电面是咋回事?【2019年2月26日 345 个股票的短期谷底高峰预测】 (转载)
求bless刚刚Amazon的第二轮interview
相关话题的讨论汇总
话题: test话题: tdd话题: 测试话题: 打印
进入JobHunting版参与讨论
1 (共1页)
s********e
发帖数: 340
1
有一个面试题,是让用测试驱动TDD的方式开发和测试一个小程序。程序是:
写一个程序,打印从1到100的数字,如果这个数字是3的倍数,那么就打印AAA,而不是
打印出这个数字,如果这个数字是5的倍数,就打印出BBB,而不是打印出这个数字,如
果这个数字是即是3的倍数,也是5的倍数,就打印出AAABBB.
单纯写这个程序很简单,但是要用TDD的方式写出测试驱动就比较费解。主要是不知道
TDD的测试代码该如何写才能实现单元测试。 请指教,希望能给出程序和解释。
此外,请问如果一个方法没有返回值,是void的,该如何用做单元测试呢?
s********e
发帖数: 340
2
求高人指点!谢谢!

【在 s********e 的大作中提到】
: 有一个面试题,是让用测试驱动TDD的方式开发和测试一个小程序。程序是:
: 写一个程序,打印从1到100的数字,如果这个数字是3的倍数,那么就打印AAA,而不是
: 打印出这个数字,如果这个数字是5的倍数,就打印出BBB,而不是打印出这个数字,如
: 果这个数字是即是3的倍数,也是5的倍数,就打印出AAABBB.
: 单纯写这个程序很简单,但是要用TDD的方式写出测试驱动就比较费解。主要是不知道
: TDD的测试代码该如何写才能实现单元测试。 请指教,希望能给出程序和解释。
: 此外,请问如果一个方法没有返回值,是void的,该如何用做单元测试呢?

z********r
发帖数: 179
3
use junit test?
@test
public void testMethod() {
assertTrue(yourMethod() == null);
}
if your method returns null then it should pass this test.
TDD means you write test first and then write your code until it passes your
test
s********e
发帖数: 340
4
我觉得这样做的话,不能测试出正确啊? 我的困惑就是如果这个方式是void的,没有
返回值,如何测试方法里面的运行结果是正确的。比如我说的这个打印的问题,没有返
回结果,如何用assert去比较?该如何测试方法是正确的?
谢谢!

your

【在 z********r 的大作中提到】
: use junit test?
: @test
: public void testMethod() {
: assertTrue(yourMethod() == null);
: }
: if your method returns null then it should pass this test.
: TDD means you write test first and then write your code until it passes your
: test

z********r
发帖数: 179
5
I see what u are asking. You should have separate methods for doing output
and computation. Use Junit to test your computation method. It's generally
not easy and not necessary to test the output method.
You should have a method String convertIntToStr(int a)
and test that
asssertTrue(convertIntToStr(3).equals("AAA"));
assertTrue(convertIntToStr(5).equals("BBB"));
.....

【在 s********e 的大作中提到】
: 我觉得这样做的话,不能测试出正确啊? 我的困惑就是如果这个方式是void的,没有
: 返回值,如何测试方法里面的运行结果是正确的。比如我说的这个打印的问题,没有返
: 回结果,如何用assert去比较?该如何测试方法是正确的?
: 谢谢!
:
: your

s********e
发帖数: 340
6
谢谢你的回复,我把我写的代码发到你的站内信里了,你能看一下我的代码,该如何测
试?谢谢指教! :)

【在 z********r 的大作中提到】
: I see what u are asking. You should have separate methods for doing output
: and computation. Use Junit to test your computation method. It's generally
: not easy and not necessary to test the output method.
: You should have a method String convertIntToStr(int a)
: and test that
: asssertTrue(convertIntToStr(3).equals("AAA"));
: assertTrue(convertIntToStr(5).equals("BBB"));
: .....

1 (共1页)
进入JobHunting版参与讨论
相关主题
刚刚Amazon的第二轮interview绝望ing...大虾麻烦帮我看看这封信
MS phone interview大家帮我看看这个面试之后的回信什么意思?有戏?
有人Amazon面试需要写off-line的两个小时的code的吗?还没发简历直接就给电面是咋回事?
帮忙看下简历求bless
job openning-Test and Quality Engineer,MySQL Database AdministratorEmergency.... Got this letter from HR
openings: Software Engineer @ Will sponsor H1B for the right candidate发帖铭记深刻的Java教训。
John Muir Health 招聘Lead/manager Product Engineer从来不用TWTR的同学申请TWTR应该做哪些准备
还是我发一篇师兄的回信吧,关于Ph.D.找工作【2019年2月13日 333 个股票的短期谷底高峰预测】 (转载)
相关话题的讨论汇总
话题: test话题: tdd话题: 测试话题: 打印