Here's what I did:
Keys.`package` <<= (test in Test, Keys.`package` in Compile) map { (_, in) =>
println("after package & test")
in
}
It runs test, and iff the tests were successful, runs package task. (tested on fresh install of lift-2.5-RC2)