The decision is made based on whether that object is a runtime object (i.e. decided by the user or some other factor that cannot be known when the app starts) or a dependency that's decided early and won't change through the life of the app.
Either way, this aspect is independent of the point I was making above and which is that functional code is not inherently easier to test than procedural code.