2016-11-03 7 views
2

こんにちは私はBuddyBuildにテストビルドの問題があります。BuddyBuildテストに失敗しましたが、ローカルで正常に動作しています

私がテストに何をしたい方法:

public static String convertTimeToDepartureDate(long timeInMillis) { 
     Calendar calendar = Calendar.getInstance(); 
     calendar.setTimeInMillis(timeInMillis); 
     SimpleDateFormat format = new SimpleDateFormat("d MMM HH:mm", Locale.ENGLISH); 
     return format.format(calendar.getTime()); 
    } 

、これは私のテストで:

@Test 
public void timeToDepartureTest() throws Exception { 
     String dateDeparture = TimeUtils.convertTimeToDepartureDate(timeMillis); 
     assertEquals("Date have wrong format or numbers!", "7 Oct 16:45", dateDeparture); 
} 

そして、これは私がインターネット上で見つかりましたが、動作しないものをひとつのソリューションです。

@Test 
public void timeToDepartureTest() throws Exception { 
    synchronized (Calendar.getInstance()) { 
     String dateDeparture = TimeUtils.convertTimeToDepartureDate(timeMillis); 
     assertEquals("Date have wrong format or numbers!", "7 Oct 16:45", dateDeparture); 
    } 
} 

私たちのマシンで正常に動作します。すべてのテストが合格しました。しかし、BBで動作しません。 これはBBコンソールからのログです:

... 
    :app:testDebugUnitTest 
    com.package.dao.TimeUtilsTest > timeToDepartureTest FAILED 
    junit.framework.ComparisonFailure at TimeUtilsTest.java:46 
    com.package.dao.TimeUtilsTest > timeToMinutesAndHoursTest FAILED 
    junit.framework.ComparisonFailure at TimeUtilsTest.java:52 
    com.package.dao.TimeUtilsTest > timeToSpecificFormatTest FAILED 
    junit.framework.ComparisonFailure at TimeUtilsTest.java:70 
    com.package.dao.TimeUtilsTest > timeToOpeningHoursTest FAILED 
    junit.framework.ComparisonFailure at TimeUtilsTest.java:64 
12 tests completed, 4 failed 
... 

私はBBが正常に動作と思います。私たちはテストに問題があります。あなたはそれを解決する方法をいくつか考えていただけますか? ありがとうございます。

+1

ここでも同じです。私たちはすでにBuddybuildのサポートチームに依頼しました。すぐに適切な解決策が見つかるかどうかを見てみましょう。 – YawaraNes

+0

iOSとBBでも同じことが起こっています。また、彼らに助けを求めました。 – Michael

+0

彼らがどのように答えたか教えてください。 –

答えて

0

問題がタイムゾーンにありました。 BuddyBuildはPSTを使用し、ローカルマシン/コードはデフォルトのESTなどを使用します。 解決策は、時間値ごとにタイムゾーンを定義します。SimpleDateFormatため

//...   
SimpleDateFormat format = new SimpleDateFormat("d MMM HH:mm", Locale.getDefault()); 
    format.setTimeZone(TimeZone.getTimeZone("UTC")); 
//... 

Calendar用:

//... 
Calendar cal = Calendar.getInstance(); 
cal.setTime(dateConverted); 
cal.setTimeZone(TimeZone.getTimeZone("UTC")); 
//... 

そして今、テストが渡されます。

関連する問題